Файл: symfony-2.7/src/Symfony/Component/Intl/Tests/Data/Bundle/Reader/IntlBundleReaderTest.php
Строк: 98
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace SymfonyComponentIntlTestsDataBundleReader;
use SymfonyComponentIntlDataBundleReaderIntlBundleReader;
use SymfonyComponentIntlUtilIntlTestHelper;
/**
* @author Bernhard Schussek <bschussek@gmail.com>
*/
class IntlBundleReaderTest extends PHPUnit_Framework_TestCase
{
/**
* @var IntlBundleReader
*/
private $reader;
protected function setUp()
{
IntlTestHelper::requireFullIntl($this);
$this->reader = new IntlBundleReader();
}
public function testReadReturnsArrayAccess()
{
$data = $this->reader->read(__DIR__.'/Fixtures/res', 'ro');
$this->assertInstanceOf('ArrayAccess', $data);
$this->assertSame('Bar', $data['Foo']);
$this->assertFalse(isset($data['ExistsNot']));
}
public function testReadFollowsAlias()
{
// "alias" = "ro"
$data = $this->reader->read(__DIR__.'/Fixtures/res', 'alias');
$this->assertInstanceOf('ArrayAccess', $data);
$this->assertSame('Bar', $data['Foo']);
$this->assertFalse(isset($data['ExistsNot']));
}
public function testReadDoesNotFollowFallback()
{
// "ro_MD" -> "ro"
$data = $this->reader->read(__DIR__.'/Fixtures/res', 'ro_MD');
$this->assertInstanceOf('ArrayAccess', $data);
$this->assertSame('Bam', $data['Baz']);
$this->assertFalse(isset($data['Foo']));
$this->assertNull($data['Foo']);
$this->assertFalse(isset($data['ExistsNot']));
}
public function testReadDoesNotFollowFallbackAlias()
{
// "mo" = "ro_MD" -> "ro"
$data = $this->reader->read(__DIR__.'/Fixtures/res', 'mo');
$this->assertInstanceOf('ArrayAccess', $data);
$this->assertSame('Bam', $data['Baz'], 'data from the aliased locale can be accessed');
$this->assertFalse(isset($data['Foo']));
$this->assertNull($data['Foo']);
$this->assertFalse(isset($data['ExistsNot']));
}
/**
* @expectedException SymfonyComponentIntlExceptionResourceBundleNotFoundException
*/
public function testReadFailsIfNonExistingLocale()
{
$this->reader->read(__DIR__.'/Fixtures/res', 'foo');
}
/**
* @expectedException SymfonyComponentIntlExceptionResourceBundleNotFoundException
*/
public function testReadFailsIfNonExistingFallbackLocale()
{
$this->reader->read(__DIR__.'/Fixtures/res', 'ro_AT');
}
/**
* @expectedException SymfonyComponentIntlExceptionRuntimeException
*/
public function testReadFailsIfNonExistingDirectory()
{
$this->reader->read(__DIR__.'/foo', 'ro');
}
}