mirror of
https://github.com/PrivateBin/PrivateBin.git
synced 2024-03-22 13:10:41 +08:00
42 lines
1.2 KiB
PHP
42 lines
1.2 KiB
PHP
|
<?php
|
||
|
class i18nTest extends PHPUnit_Framework_TestCase
|
||
|
{
|
||
|
private $_translations = array();
|
||
|
|
||
|
public function setUp()
|
||
|
{
|
||
|
/* Setup Routine */
|
||
|
$this->_translations = json_decode(
|
||
|
file_get_contents(PATH . 'i18n' . DIRECTORY_SEPARATOR . 'de.json'),
|
||
|
true
|
||
|
);
|
||
|
}
|
||
|
|
||
|
public function tearDown()
|
||
|
{
|
||
|
/* Tear Down Routine */
|
||
|
}
|
||
|
|
||
|
public function testTranslationFallback()
|
||
|
{
|
||
|
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'foobar';
|
||
|
$messageId = 'It does not matter if the message ID exists';
|
||
|
i18n::loadTranslations();
|
||
|
$this->assertEquals($messageId, i18n::_($messageId), 'fallback to en');
|
||
|
}
|
||
|
|
||
|
public function testBrowserLanguageDetection()
|
||
|
{
|
||
|
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'de-CH,de;q=0.8,en-GB;q=0.6,en-US;q=0.4,en;q=0.2';
|
||
|
i18n::loadTranslations();
|
||
|
$this->assertEquals($this->_translations['en'], i18n::_('en'), 'browser language de');
|
||
|
}
|
||
|
|
||
|
public function testVariableInjection()
|
||
|
{
|
||
|
$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'foobar';
|
||
|
i18n::loadTranslations();
|
||
|
$this->assertEquals('some string + 1', i18n::_('some %s + %d', 'string', 1), 'browser language de');
|
||
|
}
|
||
|
}
|