diff --git a/tests/GeoIP2/Test/Model/CountryTest.php b/tests/GeoIP2/Test/Model/CountryTest.php index 5c80e10..41b5b2f 100644 --- a/tests/GeoIP2/Test/Model/CountryTest.php +++ b/tests/GeoIP2/Test/Model/CountryTest.php @@ -1,6 +1,6 @@ array( + 'continent_code' => 'NA', + 'geoname_id' => 42, + 'names' => array( + 'en' => 'North America', + 'zh-CN' => '北美洲', + ), + ), + 'country' => array( + 'geoname_id' => 1, + 'iso_code' => 'US', + 'names' => array( + 'en' => 'United States of America', + 'ru' => 'объединяет государства', + 'zh-CN' => '美国', + ), + ), + 'traits' => array( + 'ip_address' => '1.2.3.4', + ), + ); + + public function testFallback() + { + $model = new Country($this->raw, array( 'ru', 'zh-CN', 'en' )); + + $this->assertEquals( + '北美洲', + $model->continent->name, + 'continent name is in Chinese (no Russian available)' + ); + + $this->assertEquals( + 'объединяет государства', + $model->country->name, + 'country name is in Russian' + ); + } + + public function testTwoFallbacks() { + $model = new Country($this->raw, array('ru', 'ja')); + + $this->assertEquals( + null, + $model->continent->name, + 'continent name is undef (no Russian or Japanese available)' + ); + + $this->assertEquals( + 'объединяет государства', + $model->country->name, + 'country name is in Russian' + ); + } + + public function testNoFallbacks() + { + $model = new Country($this->raw, array('ja')); + + $this->assertEquals( + null, + $model->continent->name, + 'continent name is undef (no Japanese available) ' + ); + + $this->assertEquals( + null, + $model->country->name, + 'country name is undef (no Japanese available) ' + ); + } +} diff --git a/tests/GeoIP2/Test/Model/OmniTest.php b/tests/GeoIP2/Test/Model/OmniTest.php index c40affe..90e1db1 100644 --- a/tests/GeoIP2/Test/Model/OmniTest.php +++ b/tests/GeoIP2/Test/Model/OmniTest.php @@ -1,6 +1,6 @@