View source
<?php
namespace Symfony\Component\Translation\Tests\Loader;
use Symfony\Component\Translation\Loader\MoFileLoader;
use Symfony\Component\Config\Resource\FileResource;
class MoFileLoaderTest extends \PHPUnit_Framework_TestCase {
public function testLoad() {
$loader = new MoFileLoader();
$resource = __DIR__ . '/../fixtures/resources.mo';
$catalogue = $loader
->load($resource, 'en', 'domain1');
$this
->assertEquals(array(
'foo' => 'bar',
), $catalogue
->all('domain1'));
$this
->assertEquals('en', $catalogue
->getLocale());
$this
->assertEquals(array(
new FileResource($resource),
), $catalogue
->getResources());
}
public function testLoadPlurals() {
$loader = new MoFileLoader();
$resource = __DIR__ . '/../fixtures/plurals.mo';
$catalogue = $loader
->load($resource, 'en', 'domain1');
$this
->assertEquals(array(
'foo' => 'bar',
'foos' => '{0} bar|{1} bars',
), $catalogue
->all('domain1'));
$this
->assertEquals('en', $catalogue
->getLocale());
$this
->assertEquals(array(
new FileResource($resource),
), $catalogue
->getResources());
}
public function testLoadNonExistingResource() {
$loader = new MoFileLoader();
$resource = __DIR__ . '/../fixtures/non-existing.mo';
$loader
->load($resource, 'en', 'domain1');
}
public function testLoadInvalidResource() {
$loader = new MoFileLoader();
$resource = __DIR__ . '/../fixtures/empty.mo';
$loader
->load($resource, 'en', 'domain1');
}
public function testLoadEmptyTranslation() {
$loader = new MoFileLoader();
$resource = __DIR__ . '/../fixtures/empty-translation.mo';
$catalogue = $loader
->load($resource, 'en', 'message');
$this
->assertEquals(array(), $catalogue
->all('message'));
$this
->assertEquals('en', $catalogue
->getLocale());
$this
->assertEquals(array(
new FileResource($resource),
), $catalogue
->getResources());
}
}