| 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);
|
|
|