View source
<?php
namespace Symfony\Component\Translation\Tests;
use Symfony\Component\Intl\Util\IntlTestHelper;
use Symfony\Component\Translation\IdentityTranslator;
class IdentityTranslatorTest extends \PHPUnit_Framework_TestCase {
public function testTrans($expected, $id, $parameters) {
$translator = new IdentityTranslator();
$this
->assertEquals($expected, $translator
->trans($id, $parameters));
}
public function testTransChoiceWithExplicitLocale($expected, $id, $number, $parameters) {
$translator = new IdentityTranslator();
$translator
->setLocale('en');
$this
->assertEquals($expected, $translator
->transChoice($id, $number, $parameters));
}
public function testTransChoiceWithDefaultLocale($expected, $id, $number, $parameters) {
\Locale::setDefault('en');
$translator = new IdentityTranslator();
$this
->assertEquals($expected, $translator
->transChoice($id, $number, $parameters));
}
public function testGetSetLocale() {
$translator = new IdentityTranslator();
$translator
->setLocale('en');
$this
->assertEquals('en', $translator
->getLocale());
}
public function testGetLocaleReturnsDefaultLocaleIfNotSet() {
IntlTestHelper::requireFullIntl($this);
$translator = new IdentityTranslator();
\Locale::setDefault('en');
$this
->assertEquals('en', $translator
->getLocale());
\Locale::setDefault('pt_BR');
$this
->assertEquals('pt_BR', $translator
->getLocale());
}
public function getTransTests() {
return array(
array(
'Symfony is great!',
'Symfony is great!',
array(),
),
array(
'Symfony is awesome!',
'Symfony is %what%!',
array(
'%what%' => 'awesome',
),
),
);
}
public function getTransChoiceTests() {
return array(
array(
'There are no apples',
'{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples',
0,
array(
'%count%' => 0,
),
),
array(
'There is one apple',
'{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples',
1,
array(
'%count%' => 1,
),
),
array(
'There are 10 apples',
'{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples',
10,
array(
'%count%' => 10,
),
),
array(
'There are 0 apples',
'There is 1 apple|There are %count% apples',
0,
array(
'%count%' => 0,
),
),
array(
'There is 1 apple',
'There is 1 apple|There are %count% apples',
1,
array(
'%count%' => 1,
),
),
array(
'There are 10 apples',
'There is 1 apple|There are %count% apples',
10,
array(
'%count%' => 10,
),
),
array(
'There are 2 apples',
'There are 2 apples',
2,
array(
'%count%' => 2,
),
),
);
}
}