From 9cab8ae58a29ecf7387e6865aa170715caeabf04 Mon Sep 17 00:00:00 2001 From: Stefan Parviainen Date: Tue, 30 Dec 2014 19:57:12 +0100 Subject: Language names via intl library. Fixes #773 --- .../intl/tests/Country/CountryRepositoryTest.php | 114 +++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 library/intl/tests/Country/CountryRepositoryTest.php (limited to 'library/intl/tests/Country/CountryRepositoryTest.php') diff --git a/library/intl/tests/Country/CountryRepositoryTest.php b/library/intl/tests/Country/CountryRepositoryTest.php new file mode 100644 index 000000000..23e1509d8 --- /dev/null +++ b/library/intl/tests/Country/CountryRepositoryTest.php @@ -0,0 +1,114 @@ + array( + 'code' => 'FR', + 'three_letter_code' => 'FRA', + 'numeric_code' => '250', + 'telephone_code' => '33', + ), + 'US' => array( + 'code' => 'US', + 'three_letter_code' => 'USA', + 'numeric_code' => '840', + 'telephone_code' => '1', + ), + ); + + /** + * English country definitions. + * + * @var array + */ + protected $englishDefinitions = array( + 'FR' => array( + 'name' => 'France', + ), + 'US' => array( + 'name' => 'United States', + ), + ); + + /** + * @covers ::__construct + */ + public function testConstructor() + { + // Mock the existence of JSON definitions on the filesystem. + $root = vfsStream::setup('resources'); + vfsStream::newFile('country/base.json')->at($root)->setContent(json_encode($this->baseDefinitions)); + vfsStream::newFile('country/en.json')->at($root)->setContent(json_encode($this->englishDefinitions)); + + // Instantiate the country repository and confirm that the definition path + // was properly set. + $countryRepository = new CountryRepository('vfs://resources/country/'); + $definitionPath = $this->getObjectAttribute($countryRepository, 'definitionPath'); + $this->assertEquals('vfs://resources/country/', $definitionPath); + + return $countryRepository; + } + + /** + * @covers ::get + * @covers ::loadDefinitions + * @covers ::createCountryFromDefinition + * @uses \CommerceGuys\Intl\Country\Country + * @uses \CommerceGuys\Intl\LocaleResolverTrait + * @depends testConstructor + */ + public function testGet($countryRepository) + { + $country = $countryRepository->get('FR'); + $this->assertInstanceOf('CommerceGuys\\Intl\\Country\\Country', $country); + $this->assertEquals('FR', $country->getCountryCode()); + $this->assertEquals('France', $country->getName()); + $this->assertEquals('FRA', $country->getThreeLetterCode()); + $this->assertEquals('250', $country->getNumericCode()); + $this->assertEquals('33', $country->getTelephoneCode()); + $this->assertEquals('en', $country->getLocale()); + } + + /** + * @covers ::get + * @covers ::loadDefinitions + * @uses \CommerceGuys\Intl\LocaleResolverTrait + * @expectedException \CommerceGuys\Intl\Exception\UnknownCountryException + * @depends testConstructor + */ + public function testGetInvalidCountry($countryRepository) + { + $countryRepository->get('DE'); + } + + /** + * @covers ::getAll + * @covers ::loadDefinitions + * @covers ::createCountryFromDefinition + * @uses \CommerceGuys\Intl\Country\Country + * @uses \CommerceGuys\Intl\LocaleResolverTrait + * @depends testConstructor + */ + public function testGetAll($countryRepository) + { + $countries = $countryRepository->getAll(); + $this->assertArrayHasKey('FR', $countries); + $this->assertArrayHasKey('US', $countries); + $this->assertEquals('FR', $countries['FR']->getCountryCode()); + $this->assertEquals('US', $countries['US']->getCountryCode()); + } +} -- cgit v1.2.3 From 4f35efa0bad4ae6489b63f3eebafe6542d654094 Mon Sep 17 00:00:00 2001 From: RedMatrix Date: Wed, 31 Dec 2014 10:43:19 +1100 Subject: Revert "Language names via intl library." --- .../intl/tests/Country/CountryRepositoryTest.php | 114 --------------------- 1 file changed, 114 deletions(-) delete mode 100644 library/intl/tests/Country/CountryRepositoryTest.php (limited to 'library/intl/tests/Country/CountryRepositoryTest.php') diff --git a/library/intl/tests/Country/CountryRepositoryTest.php b/library/intl/tests/Country/CountryRepositoryTest.php deleted file mode 100644 index 23e1509d8..000000000 --- a/library/intl/tests/Country/CountryRepositoryTest.php +++ /dev/null @@ -1,114 +0,0 @@ - array( - 'code' => 'FR', - 'three_letter_code' => 'FRA', - 'numeric_code' => '250', - 'telephone_code' => '33', - ), - 'US' => array( - 'code' => 'US', - 'three_letter_code' => 'USA', - 'numeric_code' => '840', - 'telephone_code' => '1', - ), - ); - - /** - * English country definitions. - * - * @var array - */ - protected $englishDefinitions = array( - 'FR' => array( - 'name' => 'France', - ), - 'US' => array( - 'name' => 'United States', - ), - ); - - /** - * @covers ::__construct - */ - public function testConstructor() - { - // Mock the existence of JSON definitions on the filesystem. - $root = vfsStream::setup('resources'); - vfsStream::newFile('country/base.json')->at($root)->setContent(json_encode($this->baseDefinitions)); - vfsStream::newFile('country/en.json')->at($root)->setContent(json_encode($this->englishDefinitions)); - - // Instantiate the country repository and confirm that the definition path - // was properly set. - $countryRepository = new CountryRepository('vfs://resources/country/'); - $definitionPath = $this->getObjectAttribute($countryRepository, 'definitionPath'); - $this->assertEquals('vfs://resources/country/', $definitionPath); - - return $countryRepository; - } - - /** - * @covers ::get - * @covers ::loadDefinitions - * @covers ::createCountryFromDefinition - * @uses \CommerceGuys\Intl\Country\Country - * @uses \CommerceGuys\Intl\LocaleResolverTrait - * @depends testConstructor - */ - public function testGet($countryRepository) - { - $country = $countryRepository->get('FR'); - $this->assertInstanceOf('CommerceGuys\\Intl\\Country\\Country', $country); - $this->assertEquals('FR', $country->getCountryCode()); - $this->assertEquals('France', $country->getName()); - $this->assertEquals('FRA', $country->getThreeLetterCode()); - $this->assertEquals('250', $country->getNumericCode()); - $this->assertEquals('33', $country->getTelephoneCode()); - $this->assertEquals('en', $country->getLocale()); - } - - /** - * @covers ::get - * @covers ::loadDefinitions - * @uses \CommerceGuys\Intl\LocaleResolverTrait - * @expectedException \CommerceGuys\Intl\Exception\UnknownCountryException - * @depends testConstructor - */ - public function testGetInvalidCountry($countryRepository) - { - $countryRepository->get('DE'); - } - - /** - * @covers ::getAll - * @covers ::loadDefinitions - * @covers ::createCountryFromDefinition - * @uses \CommerceGuys\Intl\Country\Country - * @uses \CommerceGuys\Intl\LocaleResolverTrait - * @depends testConstructor - */ - public function testGetAll($countryRepository) - { - $countries = $countryRepository->getAll(); - $this->assertArrayHasKey('FR', $countries); - $this->assertArrayHasKey('US', $countries); - $this->assertEquals('FR', $countries['FR']->getCountryCode()); - $this->assertEquals('US', $countries['US']->getCountryCode()); - } -} -- cgit v1.2.3 From 7bf7f8180dbc3a89824815de3bc1e4f40857d2f6 Mon Sep 17 00:00:00 2001 From: Stefan Parviainen Date: Wed, 31 Dec 2014 10:42:08 +0100 Subject: Revert "Revert "Language names via intl library."" This reverts commit 4f35efa0bad4ae6489b63f3eebafe6542d654094. --- .../intl/tests/Country/CountryRepositoryTest.php | 114 +++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 library/intl/tests/Country/CountryRepositoryTest.php (limited to 'library/intl/tests/Country/CountryRepositoryTest.php') diff --git a/library/intl/tests/Country/CountryRepositoryTest.php b/library/intl/tests/Country/CountryRepositoryTest.php new file mode 100644 index 000000000..23e1509d8 --- /dev/null +++ b/library/intl/tests/Country/CountryRepositoryTest.php @@ -0,0 +1,114 @@ + array( + 'code' => 'FR', + 'three_letter_code' => 'FRA', + 'numeric_code' => '250', + 'telephone_code' => '33', + ), + 'US' => array( + 'code' => 'US', + 'three_letter_code' => 'USA', + 'numeric_code' => '840', + 'telephone_code' => '1', + ), + ); + + /** + * English country definitions. + * + * @var array + */ + protected $englishDefinitions = array( + 'FR' => array( + 'name' => 'France', + ), + 'US' => array( + 'name' => 'United States', + ), + ); + + /** + * @covers ::__construct + */ + public function testConstructor() + { + // Mock the existence of JSON definitions on the filesystem. + $root = vfsStream::setup('resources'); + vfsStream::newFile('country/base.json')->at($root)->setContent(json_encode($this->baseDefinitions)); + vfsStream::newFile('country/en.json')->at($root)->setContent(json_encode($this->englishDefinitions)); + + // Instantiate the country repository and confirm that the definition path + // was properly set. + $countryRepository = new CountryRepository('vfs://resources/country/'); + $definitionPath = $this->getObjectAttribute($countryRepository, 'definitionPath'); + $this->assertEquals('vfs://resources/country/', $definitionPath); + + return $countryRepository; + } + + /** + * @covers ::get + * @covers ::loadDefinitions + * @covers ::createCountryFromDefinition + * @uses \CommerceGuys\Intl\Country\Country + * @uses \CommerceGuys\Intl\LocaleResolverTrait + * @depends testConstructor + */ + public function testGet($countryRepository) + { + $country = $countryRepository->get('FR'); + $this->assertInstanceOf('CommerceGuys\\Intl\\Country\\Country', $country); + $this->assertEquals('FR', $country->getCountryCode()); + $this->assertEquals('France', $country->getName()); + $this->assertEquals('FRA', $country->getThreeLetterCode()); + $this->assertEquals('250', $country->getNumericCode()); + $this->assertEquals('33', $country->getTelephoneCode()); + $this->assertEquals('en', $country->getLocale()); + } + + /** + * @covers ::get + * @covers ::loadDefinitions + * @uses \CommerceGuys\Intl\LocaleResolverTrait + * @expectedException \CommerceGuys\Intl\Exception\UnknownCountryException + * @depends testConstructor + */ + public function testGetInvalidCountry($countryRepository) + { + $countryRepository->get('DE'); + } + + /** + * @covers ::getAll + * @covers ::loadDefinitions + * @covers ::createCountryFromDefinition + * @uses \CommerceGuys\Intl\Country\Country + * @uses \CommerceGuys\Intl\LocaleResolverTrait + * @depends testConstructor + */ + public function testGetAll($countryRepository) + { + $countries = $countryRepository->getAll(); + $this->assertArrayHasKey('FR', $countries); + $this->assertArrayHasKey('US', $countries); + $this->assertEquals('FR', $countries['FR']->getCountryCode()); + $this->assertEquals('US', $countries['US']->getCountryCode()); + } +} -- cgit v1.2.3