Browse Source

JS: Fix duplicate keys in countryToMetadata map

pull/567/head
Nikolaos Trogkanis 14 years ago
committed by Mihaela Rosca
parent
commit
800e44324e
7 changed files with 30 additions and 19 deletions
  1. +2
    -2
      java/build.xml
  2. +6
    -6
      javascript/i18n/phonenumbers/metadata.js
  3. +1
    -1
      javascript/i18n/phonenumbers/metadatafortesting.js
  4. +6
    -6
      javascript/i18n/phonenumbers/metadatalite.js
  5. +10
    -4
      javascript/i18n/phonenumbers/phonenumberutil.js
  6. +5
    -0
      tools/java/java-build/src/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java
  7. BIN
      tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar

+ 2
- 2
java/build.xml View File

@ -10,8 +10,8 @@
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="lib.dir" value="lib"/>
<property name="report.dir" value="${build.dir}/junitreport"/>
<property name="resources.dir" value="../resources/"/>
<property name="javascript.dir" value="../javascript/"/>
<property name="resources.dir" value="../resources"/>
<property name="javascript.dir" value="../javascript"/>
<property name="build.tools.jar"
value="../tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar"/>


+ 6
- 6
javascript/i18n/phonenumbers/metadata.js View File

@ -5059,7 +5059,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"(?:112|99[3459])","\\d{3}",,,"999"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{8}","\\d{8}",,,"12345678"]
,"800":[,[,,"\\d{8}","\\d{8}",,,"12345678"]
,[,,"NA","NA",,,"12345678"]
,[,,"NA","NA",,,"12345678"]
,[,,"\\d{8}","\\d{8}",,,"12345678"]
@ -5075,7 +5075,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{8}","\\d{8}",,,"12345678"]
,"808":[,[,,"\\d{8}","\\d{8}",,,"12345678"]
,[,,"NA","NA",,,"12345678"]
,[,,"NA","NA",,,"12345678"]
,[,,"NA","NA"]
@ -5091,7 +5091,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"[35-7]\\d{8}","\\d{9}",,,"301234567"]
,"870":[,[,,"[35-7]\\d{8}","\\d{9}",,,"301234567"]
,[,,"NA","NA",,,"301234567"]
,[,,"(?:[356]\\d|7[6-8])\\d{7}","\\d{9}",,,"301234567"]
,[,,"NA","NA"]
@ -5107,7 +5107,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"51\\d{7}(?:\\d{3})?","\\d{9}(?:\\d{3})?",,,"510012345"]
,"883":[,[,,"51\\d{7}(?:\\d{3})?","\\d{9}(?:\\d{3})?",,,"510012345"]
,[,,"NA","NA",,,"510012345"]
,[,,"NA","NA",,,"510012345"]
,[,,"NA","NA"]
@ -5124,7 +5124,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{11}","\\d{11}",,,"12345678901"]
,"888":[,[,,"\\d{11}","\\d{11}",,,"12345678901"]
,[,,"NA","NA",,,"12345678901"]
,[,,"NA","NA",,,"12345678901"]
,[,,"NA","NA"]
@ -5140,7 +5140,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{9}","\\d{9}",,,"123456789"]
,"979":[,[,,"\\d{9}","\\d{9}",,,"123456789"]
,[,,"NA","NA",,,"123456789"]
,[,,"NA","NA",,,"123456789"]
,[,,"NA","NA"]


+ 1
- 1
javascript/i18n/phonenumbers/metadatafortesting.js View File

@ -452,7 +452,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{8}","\\d{8}",,,"12345678"]
,"800":[,[,,"\\d{8}","\\d{8}",,,"12345678"]
,[,,"NA","NA",,,"12345678"]
,[,,"NA","NA",,,"12345678"]
,[,,"\\d{8}","\\d{8}",,,"12345678"]


+ 6
- 6
javascript/i18n/phonenumbers/metadatalite.js View File

@ -5059,7 +5059,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"(?:112|99[3459])","\\d{3}"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{8}","\\d{8}"]
,"800":[,[,,"\\d{8}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"\\d{8}","\\d{8}"]
@ -5075,7 +5075,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{8}","\\d{8}"]
,"808":[,[,,"\\d{8}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -5091,7 +5091,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"[35-7]\\d{8}","\\d{9}"]
,"870":[,[,,"[35-7]\\d{8}","\\d{9}"]
,[,,"NA","NA"]
,[,,"(?:[356]\\d|7[6-8])\\d{7}","\\d{9}"]
,[,,"NA","NA"]
@ -5107,7 +5107,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"51\\d{7}(?:\\d{3})?","\\d{9}(?:\\d{3})?"]
,"883":[,[,,"51\\d{7}(?:\\d{3})?","\\d{9}(?:\\d{3})?"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -5124,7 +5124,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{11}","\\d{11}"]
,"888":[,[,,"\\d{11}","\\d{11}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -5140,7 +5140,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"001":[,[,,"\\d{9}","\\d{9}"]
,"979":[,[,,"\\d{9}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]


+ 10
- 4
javascript/i18n/phonenumbers/phonenumberutil.js View File

@ -1250,9 +1250,16 @@ i18n.phonenumbers.PhoneNumberUtil.normalizeHelper_ =
i18n.phonenumbers.PhoneNumberUtil.prototype.isValidRegionCode_ =
function(regionCode) {
// In Java we check whether the regionCode is contained in supportedRegions
// that is built out of all the values of countryCallingCodeToRegionCodeMap
// (countryCodeToRegionCodeMap in JS) minus REGION_CODE_FOR_NON_GEO_ENTITY.
// In JS we check whether the regionCode is contained in the keys of
// countryToMetadata but since for non-geographical country calling codes
// (e.g. +800) we use the country calling codes instead of the region code as
// key in the map we have to make sure regionCode is not a number to prevent
// returning true for non-geographical country calling codes.
return regionCode != null &&
regionCode !=
i18n.phonenumbers.PhoneNumberUtil.REGION_CODE_FOR_NON_GEO_ENTITY &&
isNaN(regionCode) &&
regionCode.toUpperCase() in i18n.phonenumbers.metadata.countryToMetadata;
};
@ -2512,8 +2519,7 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getMetadataForRegion =
i18n.phonenumbers.PhoneNumberUtil.prototype.
getMetadataForNonGeographicalRegion = function(countryCallingCode) {
return this.getMetadataForRegion(
this.getRegionCodeForCountryCode(countryCallingCode));
return this.getMetadataForRegion('' + countryCallingCode);
};


+ 5
- 0
tools/java/java-build/src/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java View File

@ -136,6 +136,11 @@ public class BuildMetadataJsonFromXml extends Command {
writer.write(",");
}
String regionCode = metadata.getId();
// For non-geographical country calling codes (e.g. +800), use the country calling codes
// instead of the region code as key in the map.
if (regionCode.equals("001")) {
regionCode = Integer.toString(metadata.getCountryCode());
}
JSArrayBuilder jsArrayBuilder = new JSArrayBuilder();
toJsArray(metadata, jsArrayBuilder);
writer.write("\"");


BIN
tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar View File


Loading…
Cancel
Save