* * 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\Provider; use Symfony\Component\Intl\Data\Provider\LocaleDataProvider; use Symfony\Component\Intl\Intl; use Symfony\Component\Intl\Locale; /** * @author Bernhard Schussek */ abstract class AbstractLocaleDataProviderTest extends AbstractDataProviderTest { /** * @var LocaleDataProvider */ protected $dataProvider; protected function setUp() { parent::setUp(); $this->dataProvider = new LocaleDataProvider( $this->getDataDirectory().'/'.Intl::LOCALE_DIR, $this->createEntryReader() ); } abstract protected function getDataDirectory(); public function testGetLocales() { $this->assertSame($this->getLocales(), $this->dataProvider->getLocales()); } public function testGetLocaleAliases() { $this->assertSame($this->getLocaleAliases(), $this->dataProvider->getAliases()); } /** * @dataProvider provideLocales */ public function testGetNames($displayLocale) { $locales = array_keys($this->dataProvider->getNames($displayLocale)); sort($locales); // We can't assert on exact list of locale, as there's too many variations. // The best we can do is to make sure getNames() returns a subset of what getLocales() returns. $this->assertNotEmpty($locales); $this->assertEmpty(array_diff($locales, $this->getLocales())); } public function testGetNamesDefaultLocale() { Locale::setDefault('de_AT'); $this->assertSame( $this->dataProvider->getNames('de_AT'), $this->dataProvider->getNames() ); } /** * @dataProvider provideLocaleAliases */ public function testGetNamesSupportsAliases($alias, $ofLocale) { // Can't use assertSame(), because some aliases contain scripts with // different collation (=order of output) than their aliased locale // e.g. sr_Latn_ME => sr_ME $this->assertEquals( $this->dataProvider->getNames($ofLocale), $this->dataProvider->getNames($alias) ); } /** * @dataProvider provideLocales */ public function testGetName($displayLocale) { $names = $this->dataProvider->getNames($displayLocale); foreach ($names as $locale => $name) { $this->assertSame($name, $this->dataProvider->getName($locale, $displayLocale)); } } public function testGetNameDefaultLocale() { Locale::setDefault('de_AT'); $names = $this->dataProvider->getNames('de_AT'); foreach ($names as $locale => $name) { $this->assertSame($name, $this->dataProvider->getName($locale)); } } } __halt_compiler();----SIGNATURE:----pFvXBqo1KquqIP/InqN+eqeARVZvDMKrZRJJwifP6iUcNl8PhvnnnmND2X9x8Q3MpWgGdVyM93FC7Lv2I8bb8iSjReXhGMEWlG8XXOzwb2RHY9F+AVpvINmLjqsnVAGfSOthiJ94gsHIPCcB+OSIA4Wzi4AFnsdO+JiQPOaXsAfPwyyDxKhKoDfJa1Qs529Kuw7KAjL52wUF1WPd2/Mg4HA0bRUyQAgo07l7+6dB12nAWIl/3Fem8uV3ziNGys/2cXIOFH87EJYCMD8SCOraG66/Q8rmw9dTapht1hdc2mA2Lrppc4xAP6sNcydxOI+AQZYr/oByThz/wm4ncCDWbPW2Tnp/p0PFNRX7V0gDAq5pZNEKJwuAMePyr1pE83szi6Ko25YY+/ImQn2t9O2nQMWLxldcHolPMQLS0wPH2kgyWqcqhMnDeRHiu3oSF2w5qo160qmpqF7ajfoDxIZhDrV5e1oVjjDSJ36sLAg6g+xvvVep3H2uIDSGeX4wZdoblYXqmRW9n3MOZQ2KsDtQUR7DiAAsZe2wEg8xB2KVd5cfv4ktOm4NhN/YUMQ/bhkJAnubOEy3/thFC6TLjC8+eeLNgDuwfj9uODDXRq7oatB9XKdCftkqazuMUUYA0YTaU9L8HPgjksqayuseUmaZOTv9g9t7K33LHDo5RZ2xjWU=----ATTACHMENT:----MjkxNDg4ODU2ODM5NDg2MiA4MTIxMDQ3NjQwMTQ0NDYzIDcwNTk0Njk0NDU5MzgyMjU=