Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Unified Diff: components/autofill/core/browser/phone_number_i18n_unittest.cc

Issue 374053007: Change PhoneNumber::SetInfo to only apply formatting where there is none (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: better way Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/phone_number_i18n_unittest.cc
diff --git a/components/autofill/core/browser/phone_number_i18n_unittest.cc b/components/autofill/core/browser/phone_number_i18n_unittest.cc
index c387dee3a752493a11b94b586839a4cc06c3485d..37592d3668b9c86cf7cbc6def21416168ff685f8 100644
--- a/components/autofill/core/browser/phone_number_i18n_unittest.cc
+++ b/components/autofill/core/browser/phone_number_i18n_unittest.cc
@@ -56,61 +56,70 @@ TEST(PhoneNumberI18NTest, ParsePhoneNumber) {
std::string country_code;
std::string deduced_region;
} test_cases[] = {
- // Test for empty string. Should give back empty strings.
- { false, "", "US" },
- // Test for string with less than 7 digits. Should give back empty strings.
- { false, "1234", "US" },
- // Test for string with exactly 7 digits.
- // Not a valid number - starts with 1
- { false, "17134567", "US" },
- // Not a valid number - does not have area code.
- { false, "7134567", "US" },
- // Valid Canadian toll-free number.
- { true, "3101234", "US", "3101234", "", "", "CA" },
- // Test for string with greater than 7 digits but less than 10 digits.
- // Should fail parsing in US.
- { false, "123456789", "US" },
- // Test for string with greater than 7 digits but less than 10 digits and
- // separators.
- // Should fail parsing in US.
- { false, "12.345-6789", "US" },
- // Test for string with exactly 10 digits.
- // Should give back phone number and city code.
- // This one going to fail because of the incorrect area code.
- { false, "1234567890", "US" },
- // This one going to fail because of the incorrect number (starts with 1).
- { false, "6501567890", "US" },
- { true, "6504567890", "US", "4567890", "650", "", "US" },
- // Test for string with exactly 10 digits and separators.
- // Should give back phone number and city code.
- { true, "(650) 456-7890", "US", "4567890", "650", "", "US" },
- // Tests for string with over 10 digits.
- // 01 is incorrect prefix in the USA, and if we interpret 011 as prefix, the
- // rest is too short for international number - the parsing should fail.
- { false, "0116504567890", "US" },
- // 011 is a correct "dial out" prefix in the USA - the parsing should
- // succeed.
- { true, "01116504567890", "US", "4567890", "650", "1", "US" },
- // 011 is a correct "dial out" prefix in the USA but the rest of the number
- // can't parse as a US number.
- { true, "01178124567890", "US", "4567890", "812", "7", "RU" },
- // Test for string with over 10 digits with separator characters.
- // Should give back phone number, city code, and country code. "011" is
- // US "dial out" code, which is discarded.
- { true, "(0111) 650-456.7890", "US", "4567890", "650", "1" , "US" },
- // Now try phone from Czech republic - it has 00 dial out code, 420 country
- // code and variable length area codes.
- { true, "+420 27-89.10.112", "US", "910112", "278", "420", "CZ" },
- { false, "27-89.10.112", "US" },
- { true, "27-89.10.112", "CZ", "910112", "278", "", "CZ" },
- { false, "420 57-89.10.112", "US" },
- { true, "420 57-89.10.112", "CZ", "910112", "578", "420", "CZ" },
- // Parses vanity numbers.
- { true, "1-650-FLOWERS", "US", "3569377", "650", "1", "US" },
- // 800 is not an area code, but the destination code. In our library these
- // codes should be treated the same as area codes.
- { true, "1-800-FLOWERS", "US", "3569377", "800", "1", "US" },
- };
+ // Test for empty string. Should give back empty strings.
+ {false, "", "US"},
+ // Test for string with less than 7 digits. Should give back empty
+ // strings.
+ {false, "1234", "US"},
+ // Test for string with exactly 7 digits.
+ // Not a valid number - starts with 1
+ {false, "17134567", "US"},
+ // Not a valid number - does not have area code.
+ {false, "7134567", "US"},
+ // Valid Canadian toll-free number.
+ {true, "3101234", "US", "3101234", "", "", "CA"},
+ // Test for string with greater than 7 digits but less than 10 digits.
+ // Should fail parsing in US.
+ {false, "123456789", "US"},
+ // Test for string with greater than 7 digits but less than 10 digits
+ // and
+ // separators.
+ // Should fail parsing in US.
+ {false, "12.345-6789", "US"},
+ // Test for string with exactly 10 digits.
+ // Should give back phone number and city code.
+ // This one going to fail because of the incorrect area code.
+ {false, "1234567890", "US"},
+ // This one going to fail because of the incorrect number (starts with
+ // 1).
+ {false, "6501567890", "US"},
+ {true, "6504567890", "US", "4567890", "650", "", "US"},
+ // Test for string with exactly 10 digits and separators.
+ // Should give back phone number and city code.
+ {true, "(650) 456-7890", "US", "4567890", "650", "", "US"},
+ // Tests for string with over 10 digits.
+ // 01 is incorrect prefix in the USA, and if we interpret 011 as prefix,
+ // the
+ // rest is too short for international number - the parsing should fail.
+ {false, "0116504567890", "US"},
+ // 011 is a correct "dial out" prefix in the USA - the parsing should
+ // succeed.
+ {true, "01116504567890", "US", "4567890", "650", "1", "US"},
+ // 011 is a correct "dial out" prefix in the USA but the rest of the
+ // number
+ // can't parse as a US number.
+ {true, "01178124567890", "US", "4567890", "812", "7", "RU"},
+ // Test for string with over 10 digits with separator characters.
+ // Should give back phone number, city code, and country code. "011" is
+ // US "dial out" code, which is discarded.
+ {true, "(0111) 650-456.7890", "US", "4567890", "650", "1", "US"},
+ // Now try phone from Czech republic - it has 00 dial out code, 420
+ // country
+ // code and variable length area codes.
+ {true, "+420 27-89.10.112", "US", "910112", "278", "420", "CZ"},
+ {false, "27-89.10.112", "US"},
+ {true, "27-89.10.112", "CZ", "910112", "278", "", "CZ"},
+ {false, "420 57-89.10.112", "US"},
+ {true, "420 57-89.10.112", "CZ", "910112", "578", "420", "CZ"},
+ // Parses vanity numbers.
+ {true, "1-650-FLOWERS", "US", "3569377", "650", "1", "US"},
+ // 800 is not an area code, but the destination code. In our library
+ // these
+ // codes should be treated the same as area codes.
+ {true, "1-800-FLOWERS", "US", "3569377", "800", "1", "US"},
+ // Don't add a country code where there was none.
+ {true, "(08) 450 777 7777", "DE", "7777777", "8450", "", "DE"},
+ };
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) {
SCOPED_TRACE("Testing phone number " + test_cases[i].input);
« no previous file with comments | « components/autofill/core/browser/phone_number_i18n.cc ('k') | components/autofill/core/browser/phone_number_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698