summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaopeng Jia <shaopengjia@google.com>2010-05-20 15:33:49 -0700
committerShaopeng Jia <shaopengjia@google.com>2010-05-20 15:37:05 -0700
commit94c2440dc41689b7d9c169edf5089eeebf7527d7 (patch)
tree4fce78e0d96e80b76ab41b0bf2cb5ebb28c346dd
parent0199c997f87434f2c5a7d1df4bb4b5f904312b9f (diff)
downloadlibphonenumber-94c2440dc41689b7d9c169edf5089eeebf7527d7.tar.gz
Fix a bug where NANPA numbers starting with 1 were incorrectly formatted.
Change-Id: I094e175a1512f75ac7228f1acace307455de3ad3
-rw-r--r--README.android2
-rw-r--r--java/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java5
-rw-r--r--java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java13
3 files changed, 18 insertions, 2 deletions
diff --git a/README.android b/README.android
index d4844fb8..70f13696 100644
--- a/README.android
+++ b/README.android
@@ -1,4 +1,4 @@
URL: http://code.google.com/p/libphonenumber/
-Version: r19
+Version: r20
License: Apache 2
Description: Google Phone Number Library.
diff --git a/java/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java b/java/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
index c5999bf3..e4e26d79 100644
--- a/java/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
+++ b/java/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java
@@ -251,7 +251,10 @@ public class AsYouTypeFormatter {
private void removeNationalPrefixFromNationalNumber() {
int startOfNationalNumber = 0;
- if (currentMetaData.hasNationalPrefix()) {
+ if (currentMetaData.getCountryCode() == 1 && nationalNumber.charAt(0) == '1') {
+ startOfNationalNumber = 1;
+ prefixBeforeNationalNumber.append("1 ");
+ } else if (currentMetaData.hasNationalPrefix()) {
Matcher m = nationalPrefixForParsing.matcher(nationalNumber);
if (m.lookingAt()) {
startOfNationalNumber = m.end();
diff --git a/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java b/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java
index 20efc054..076b4b47 100644
--- a/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java
+++ b/java/test/com/google/i18n/phonenumbers/AsYouTypeFormatterTest.java
@@ -54,6 +54,19 @@ public class AsYouTypeFormatterTest extends TestCase {
assertEquals("650 253 2222", formatter.inputDigit('2'));
formatter.clear();
+ assertEquals("1", formatter.inputDigit('1'));
+ assertEquals("16", formatter.inputDigit('6'));
+ assertEquals("165", formatter.inputDigit('5'));
+ assertEquals("1650", formatter.inputDigit('0'));
+ assertEquals("16502", formatter.inputDigit('2'));
+ assertEquals("1 650 25", formatter.inputDigit('5'));
+ assertEquals("1 650 253", formatter.inputDigit('3'));
+ assertEquals("1 650 253 2", formatter.inputDigit('2'));
+ assertEquals("1 650 253 22", formatter.inputDigit('2'));
+ assertEquals("1 650 253 222", formatter.inputDigit('2'));
+ assertEquals("1 650 253 2222", formatter.inputDigit('2'));
+
+ formatter.clear();
assertEquals("6", formatter.inputDigit('6'));
assertEquals("65", formatter.inputDigit('5'));
assertEquals("650", formatter.inputDigit('0'));