123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?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 Symfony\Component\Intl\Tests\Data\Bundle\Reader;
- use PHPUnit\Framework\TestCase;
- use Symfony\Component\Intl\Data\Bundle\Reader\IntlBundleReader;
- /**
- * @author Bernhard Schussek <bschussek@gmail.com>
- * @requires extension intl
- */
- class IntlBundleReaderTest extends TestCase
- {
- /**
- * @var IntlBundleReader
- */
- private $reader;
- protected function setUp()
- {
- $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()
- {
- if (defined('HHVM_VERSION')) {
- $this->markTestSkipped('ResourceBundle does not support disabling fallback properly on HHVM.');
- }
- // "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()
- {
- if (defined('HHVM_VERSION')) {
- $this->markTestSkipped('ResourceBundle does not support disabling fallback properly on HHVM.');
- }
- // "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 \Symfony\Component\Intl\Exception\ResourceBundleNotFoundException
- */
- public function testReadFailsIfNonExistingLocale()
- {
- $this->reader->read(__DIR__.'/Fixtures/res', 'foo');
- }
- /**
- * @expectedException \Symfony\Component\Intl\Exception\ResourceBundleNotFoundException
- */
- public function testReadFailsIfNonExistingFallbackLocale()
- {
- $this->reader->read(__DIR__.'/Fixtures/res', 'ro_AT');
- }
- /**
- * @expectedException \Symfony\Component\Intl\Exception\RuntimeException
- */
- public function testReadFailsIfNonExistingDirectory()
- {
- $this->reader->read(__DIR__.'/foo', 'ro');
- }
- }
|