Browse Source

Java: Fix geocoder to return empty string for Global Networks numbers.

Review URL: http://codereview.appspot.com/5557071
pull/567/head
Shaopeng Jia 14 years ago
committed by Mihaela Rosca
parent
commit
a417571ecd
2 changed files with 6 additions and 1 deletions
  1. +2
    -1
      java/geocoder/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java
  2. +4
    -0
      java/geocoder/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java

+ 2
- 1
java/geocoder/src/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder.java View File

@ -137,7 +137,8 @@ public class PhoneNumberOfflineGeocoder {
* Returns the customary display name in the given language for the given region. * Returns the customary display name in the given language for the given region.
*/ */
private String getRegionDisplayName(String regionCode, Locale language) { private String getRegionDisplayName(String regionCode, Locale language) {
return (regionCode == null || regionCode.equals("ZZ"))
return (regionCode == null || regionCode.equals("ZZ") ||
regionCode.equals(PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY))
? "" : new Locale("", regionCode).getDisplayCountry(language); ? "" : new Locale("", regionCode).getDisplayCountry(language);
} }


+ 4
- 0
java/geocoder/test/com/google/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoderTest.java View File

@ -57,6 +57,8 @@ public class PhoneNumberOfflineGeocoderTest extends TestCase {
new PhoneNumber().setCountryCode(61).setNationalNumber(236618300L); new PhoneNumber().setCountryCode(61).setNationalNumber(236618300L);
private static final PhoneNumber NUMBER_WITH_INVALID_COUNTRY_CODE = private static final PhoneNumber NUMBER_WITH_INVALID_COUNTRY_CODE =
new PhoneNumber().setCountryCode(999).setNationalNumber(2423651234L); new PhoneNumber().setCountryCode(999).setNationalNumber(2423651234L);
private static final PhoneNumber INTERNATIONAL_TOLL_FREE =
new PhoneNumber().setCountryCode(800).setNationalNumber(12345678L);
public void testGetDescriptionForNumberWithNoDataFile() { public void testGetDescriptionForNumberWithNoDataFile() {
// No data file containing mappings for US numbers is available in Chinese for the unittests. As // No data file containing mappings for US numbers is available in Chinese for the unittests. As
@ -69,6 +71,8 @@ public class PhoneNumberOfflineGeocoderTest extends TestCase {
geocoder.getDescriptionForNumber(AU_NUMBER, new Locale("en", "US"))); geocoder.getDescriptionForNumber(AU_NUMBER, new Locale("en", "US")));
assertEquals("", geocoder.getDescriptionForNumber(NUMBER_WITH_INVALID_COUNTRY_CODE, assertEquals("", geocoder.getDescriptionForNumber(NUMBER_WITH_INVALID_COUNTRY_CODE,
new Locale("en", "US"))); new Locale("en", "US")));
assertEquals("", geocoder.getDescriptionForNumber(INTERNATIONAL_TOLL_FREE,
new Locale("en", "US")));
} }
public void testGetDescriptionForNumberWithMissingPrefix() { public void testGetDescriptionForNumberWithMissingPrefix() {


Loading…
Cancel
Save