2024-06-27 05:17:16 -07:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Tests\Unit;
|
|
|
|
|
|
|
|
use Tests\TestCase;
|
|
|
|
|
|
|
|
class SnipeTranslatorTest extends TestCase
|
|
|
|
{
|
|
|
|
// the 'meatiest' of these tests will explicitly choose non-English as the language, because otherwise
|
|
|
|
// the fallback-logic (which is to fall-back to 'en-US') will be conflated in with the translation logic
|
|
|
|
|
|
|
|
// WARNING: If these translation strings are updated, these tests will start to fail. Update them as appropriate.
|
|
|
|
|
|
|
|
public function testBasic()
|
|
|
|
{
|
|
|
|
$this->assertEquals('This user has admin privileges',trans('general.admin_tooltip',[],'en-US'));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testPortuguese()
|
|
|
|
{
|
|
|
|
$this->assertEquals('Acessório',trans('general.accessory',[],'pt-PT'));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testFallback()
|
|
|
|
{
|
|
|
|
$this->assertEquals(
|
|
|
|
'This user has admin privileges',
|
|
|
|
trans('general.admin_tooltip',[],'xx-ZZ'),
|
|
|
|
"Nonexistent locale should fall-back to en-US"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testBackupString()
|
|
|
|
{
|
|
|
|
$this->assertEquals(
|
|
|
|
'Ingen sikkerhetskopier ble gjort ennå',
|
2024-07-23 10:22:13 -07:00
|
|
|
trans('backup::notifications.no_backups_info',[],'nb-NO'),
|
2024-06-27 05:17:16 -07:00
|
|
|
"Norwegian 'no backups info' message should be here"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testBackupFallback()
|
|
|
|
{
|
|
|
|
$this->assertEquals(
|
|
|
|
'No backups were made yet',
|
|
|
|
trans('backup::notifications.no_backups_info',[],'xx-ZZ'),
|
|
|
|
"'no backups info' string should fallback to 'en'"
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testTransChoiceSingular()
|
|
|
|
{
|
|
|
|
$this->assertEquals(
|
|
|
|
'1 Consumível',
|
|
|
|
trans_choice('general.countable.consumables',1,[],'pt-PT')
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testTransChoicePlural()
|
|
|
|
{
|
|
|
|
$this->assertEquals(
|
|
|
|
'2 Consumíveis',
|
|
|
|
trans_choice('general.countable.consumables',2,[],'pt-PT')
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testTotallyBogusKey()
|
|
|
|
{
|
|
|
|
$this->assertEquals(
|
|
|
|
'bogus_key',
|
|
|
|
trans('bogus_key',[],'pt-PT'),
|
|
|
|
"Translating a completely bogus key should at least just return back that key"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testReplacements() {
|
|
|
|
$this->assertEquals(
|
|
|
|
'Artigos alocados a Some Name Here',
|
|
|
|
trans('admin/users/general.assets_user',['name' => 'Some Name Here'],'pt-PT'),
|
|
|
|
"Text should get replaced in translations when given"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function testNonlegacyBackupLocale() {
|
|
|
|
//Spatie backup *usually* uses two-character locales, but pt-BR is an exception
|
|
|
|
$this->assertEquals(
|
|
|
|
'Mensagem de exceção: MESSAGE',
|
|
|
|
trans('backup::notifications.exception_message',['message' => 'MESSAGE'],'pt-BR')
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|