| Index: components/autofill/browser/phone_number_unittest.cc
|
| diff --git a/components/autofill/browser/phone_number_unittest.cc b/components/autofill/browser/phone_number_unittest.cc
|
| deleted file mode 100644
|
| index 54fc7bcd48e53593c1621ad77395f364eeeaccb5..0000000000000000000000000000000000000000
|
| --- a/components/autofill/browser/phone_number_unittest.cc
|
| +++ /dev/null
|
| @@ -1,207 +0,0 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "base/strings/string16.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "components/autofill/browser/autofill_profile.h"
|
| -#include "components/autofill/browser/field_types.h"
|
| -#include "components/autofill/browser/phone_number.h"
|
| -#include "components/autofill/browser/phone_number_i18n.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace autofill {
|
| -
|
| -TEST(PhoneNumberTest, Matcher) {
|
| - AutofillProfile profile;
|
| - profile.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US"));
|
| - // Set phone number so country_code == 1, city_code = 650, number = 2345678.
|
| - base::string16 phone(ASCIIToUTF16("1 [650] 234-5678"));
|
| - PhoneNumber phone_number(&profile);
|
| - phone_number.SetInfo(PHONE_HOME_WHOLE_NUMBER, phone, "US");
|
| -
|
| - FieldTypeSet matching_types;
|
| - phone_number.GetMatchingTypes(base::string16(), "US", &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(EMPTY_TYPE) != matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("1"), "US", &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_COUNTRY_CODE) !=
|
| - matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("16"), "US", &matching_types);
|
| - EXPECT_EQ(0U, matching_types.size());
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("165"), "US", &matching_types);
|
| - EXPECT_EQ(0U, matching_types.size());
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("1650"), "US", &matching_types);
|
| - EXPECT_EQ(0U, matching_types.size());
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("16502"), "US", &matching_types);
|
| - EXPECT_EQ(0U, matching_types.size());
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("165023"), "US", &matching_types);
|
| - EXPECT_EQ(0U, matching_types.size());
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("1650234"), "US", &matching_types);
|
| - EXPECT_EQ(0U, matching_types.size());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("16502345678"), "US",
|
| - &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_WHOLE_NUMBER) !=
|
| - matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("650"), "US", &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_CITY_CODE) !=
|
| - matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("2345678"), "US", &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_NUMBER) != matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("234"), "US", &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_NUMBER) != matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("5678"), "US", &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_NUMBER) != matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("2345"), "US", &matching_types);
|
| - EXPECT_EQ(0U, matching_types.size());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("6502345678"), "US",
|
| - &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_CITY_AND_NUMBER) !=
|
| - matching_types.end());
|
| - matching_types.clear();
|
| - phone_number.GetMatchingTypes(ASCIIToUTF16("(650)2345678"), "US",
|
| - &matching_types);
|
| - EXPECT_EQ(1U, matching_types.size());
|
| - EXPECT_TRUE(matching_types.find(PHONE_HOME_CITY_AND_NUMBER) !=
|
| - matching_types.end());
|
| -}
|
| -
|
| -// Verify that PhoneNumber::SetInfo() correctly formats the incoming number.
|
| -TEST(PhoneNumberTest, SetInfo) {
|
| - AutofillProfile profile;
|
| - profile.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US"));
|
| -
|
| - PhoneNumber phone(&profile);
|
| - EXPECT_EQ(base::string16(), phone.GetRawInfo(PHONE_HOME_WHOLE_NUMBER));
|
| -
|
| - // Set the formatted info directly.
|
| - EXPECT_TRUE(phone.SetInfo(PHONE_HOME_WHOLE_NUMBER,
|
| - ASCIIToUTF16("(650) 234-5678"), "US"));
|
| - EXPECT_EQ(ASCIIToUTF16("(650) 234-5678"),
|
| - phone.GetRawInfo(PHONE_HOME_WHOLE_NUMBER));
|
| -
|
| - // Unformatted numbers should be formatted.
|
| - EXPECT_TRUE(phone.SetInfo(PHONE_HOME_WHOLE_NUMBER,
|
| - ASCIIToUTF16("8887776666"), "US"));
|
| - EXPECT_EQ(ASCIIToUTF16("(888) 777-6666"),
|
| - phone.GetRawInfo(PHONE_HOME_WHOLE_NUMBER));
|
| -
|
| - // Differently formatted numbers should be re-formatted.
|
| - EXPECT_TRUE(phone.SetInfo(PHONE_HOME_WHOLE_NUMBER,
|
| - ASCIIToUTF16("800-432-8765"), "US"));
|
| - EXPECT_EQ(ASCIIToUTF16("(800) 432-8765"),
|
| - phone.GetRawInfo(PHONE_HOME_WHOLE_NUMBER));
|
| -
|
| - // Invalid numbers should not be stored. In the US, phone numbers cannot
|
| - // start with the digit '1'.
|
| - EXPECT_FALSE(phone.SetInfo(PHONE_HOME_WHOLE_NUMBER,
|
| - ASCIIToUTF16("650111111"), "US"));
|
| - EXPECT_EQ(base::string16(), phone.GetRawInfo(PHONE_HOME_WHOLE_NUMBER));
|
| -}
|
| -
|
| -// Test that cached phone numbers are correctly invalidated and updated.
|
| -TEST(PhoneNumberTest, UpdateCachedPhoneNumber) {
|
| - AutofillProfile profile;
|
| - profile.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US"));
|
| -
|
| - PhoneNumber phone(&profile);
|
| - phone.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("6502345678"));
|
| - EXPECT_EQ(ASCIIToUTF16("650"), phone.GetInfo(PHONE_HOME_CITY_CODE, "US"));
|
| -
|
| - // Update the area code.
|
| - phone.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("8322345678"));
|
| - EXPECT_EQ(ASCIIToUTF16("832"), phone.GetInfo(PHONE_HOME_CITY_CODE, "US"));
|
| -
|
| - // Change the phone number to have a UK format, but try to parse with the
|
| - // wrong locale.
|
| - phone.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("07023456789"));
|
| - EXPECT_EQ(base::string16(), phone.GetInfo(PHONE_HOME_CITY_CODE, "US"));
|
| -
|
| - // Now try parsing using the correct locale. Note that the profile's country
|
| - // code should override the app locale, which is still set to "US".
|
| - profile.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("GB"));
|
| - phone.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("07023456789"));
|
| - EXPECT_EQ(ASCIIToUTF16("70"), phone.GetInfo(PHONE_HOME_CITY_CODE, "US"));
|
| -}
|
| -
|
| -TEST(PhoneNumberTest, PhoneCombineHelper) {
|
| - AutofillProfile profile;
|
| - profile.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US"));
|
| -
|
| - PhoneNumber::PhoneCombineHelper number1;
|
| - EXPECT_FALSE(number1.SetInfo(ADDRESS_BILLING_CITY,
|
| - ASCIIToUTF16("1")));
|
| - EXPECT_TRUE(number1.SetInfo(PHONE_HOME_COUNTRY_CODE,
|
| - ASCIIToUTF16("1")));
|
| - EXPECT_TRUE(number1.SetInfo(PHONE_HOME_CITY_CODE,
|
| - ASCIIToUTF16("650")));
|
| - EXPECT_TRUE(number1.SetInfo(PHONE_HOME_NUMBER,
|
| - ASCIIToUTF16("2345678")));
|
| - base::string16 parsed_phone;
|
| - EXPECT_TRUE(number1.ParseNumber(profile, "en-US", &parsed_phone));
|
| - // International format as it has a country code.
|
| - EXPECT_EQ(ASCIIToUTF16("+1 650-234-5678"), parsed_phone);
|
| -
|
| - PhoneNumber::PhoneCombineHelper number3;
|
| - EXPECT_TRUE(number3.SetInfo(PHONE_HOME_CITY_CODE,
|
| - ASCIIToUTF16("650")));
|
| - EXPECT_TRUE(number3.SetInfo(PHONE_HOME_NUMBER,
|
| - ASCIIToUTF16("2345680")));
|
| - EXPECT_TRUE(number3.ParseNumber(profile, "en-US", &parsed_phone));
|
| - // National format as it does not have a country code.
|
| - EXPECT_EQ(ASCIIToUTF16("(650) 234-5680"), parsed_phone);
|
| -
|
| - PhoneNumber::PhoneCombineHelper number4;
|
| - EXPECT_TRUE(number4.SetInfo(PHONE_HOME_CITY_CODE,
|
| - ASCIIToUTF16("123"))); // Incorrect city code.
|
| - EXPECT_TRUE(number4.SetInfo(PHONE_HOME_NUMBER,
|
| - ASCIIToUTF16("2345680")));
|
| - EXPECT_FALSE(number4.ParseNumber(profile, "en-US", &parsed_phone));
|
| - EXPECT_EQ(base::string16(), parsed_phone);
|
| -
|
| - PhoneNumber::PhoneCombineHelper number5;
|
| - EXPECT_TRUE(number5.SetInfo(PHONE_HOME_CITY_AND_NUMBER,
|
| - ASCIIToUTF16("6502345681")));
|
| - EXPECT_TRUE(number5.ParseNumber(profile, "en-US", &parsed_phone));
|
| - EXPECT_EQ(ASCIIToUTF16("(650) 234-5681"), parsed_phone);
|
| -
|
| - PhoneNumber::PhoneCombineHelper number6;
|
| - EXPECT_TRUE(number6.SetInfo(PHONE_HOME_CITY_CODE,
|
| - ASCIIToUTF16("650")));
|
| - EXPECT_TRUE(number6.SetInfo(PHONE_HOME_NUMBER,
|
| - ASCIIToUTF16("234")));
|
| - EXPECT_TRUE(number6.SetInfo(PHONE_HOME_NUMBER,
|
| - ASCIIToUTF16("5682")));
|
| - EXPECT_TRUE(number6.ParseNumber(profile, "en-US", &parsed_phone));
|
| - EXPECT_EQ(ASCIIToUTF16("(650) 234-5682"), parsed_phone);
|
| -
|
| - // Ensure parsing is possible when falling back to detecting the country code
|
| - // based on the app locale.
|
| - PhoneNumber::PhoneCombineHelper number7;
|
| - EXPECT_TRUE(number7.SetInfo(PHONE_HOME_CITY_CODE,
|
| - ASCIIToUTF16("650")));
|
| - EXPECT_TRUE(number7.SetInfo(PHONE_HOME_NUMBER,
|
| - ASCIIToUTF16("234")));
|
| - EXPECT_TRUE(number7.SetInfo(PHONE_HOME_NUMBER,
|
| - ASCIIToUTF16("5682")));
|
| - EXPECT_TRUE(number7.ParseNumber(AutofillProfile(), "en-US", &parsed_phone));
|
| - EXPECT_EQ(ASCIIToUTF16("(650) 234-5682"), parsed_phone);
|
| -}
|
| -
|
| -} // namespace autofill
|
|
|