OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/string16.h" | 5 #include "base/string16.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/browser/autofill/autofill_profile.h" | 7 #include "chrome/browser/autofill/autofill_profile.h" |
8 #include "chrome/browser/autofill/field_types.h" | 8 #include "chrome/browser/autofill/field_types.h" |
9 #include "chrome/browser/autofill/phone_number.h" | 9 #include "chrome/browser/autofill/phone_number.h" |
10 #include "chrome/browser/autofill/phone_number_i18n.h" | 10 #include "chrome/browser/autofill/phone_number_i18n.h" |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 matching_types.end()); | 74 matching_types.end()); |
75 matching_types.clear(); | 75 matching_types.clear(); |
76 phone_number.GetMatchingTypes(ASCIIToUTF16("(650)2345678"), "US", | 76 phone_number.GetMatchingTypes(ASCIIToUTF16("(650)2345678"), "US", |
77 &matching_types); | 77 &matching_types); |
78 EXPECT_EQ(1U, matching_types.size()); | 78 EXPECT_EQ(1U, matching_types.size()); |
79 EXPECT_TRUE(matching_types.find(PHONE_HOME_CITY_AND_NUMBER) != | 79 EXPECT_TRUE(matching_types.find(PHONE_HOME_CITY_AND_NUMBER) != |
80 matching_types.end()); | 80 matching_types.end()); |
81 } | 81 } |
82 | 82 |
83 TEST(PhoneNumberTest, PhoneCombineHelper) { | 83 TEST(PhoneNumberTest, PhoneCombineHelper) { |
| 84 AutofillProfile profile; |
| 85 profile.SetCountryCode("US"); |
| 86 |
84 PhoneNumber::PhoneCombineHelper number1; | 87 PhoneNumber::PhoneCombineHelper number1; |
85 EXPECT_FALSE(number1.SetInfo(ADDRESS_BILLING_CITY, | 88 EXPECT_FALSE(number1.SetInfo(ADDRESS_BILLING_CITY, |
86 ASCIIToUTF16("1"))); | 89 ASCIIToUTF16("1"))); |
87 EXPECT_TRUE(number1.SetInfo(PHONE_HOME_COUNTRY_CODE, | 90 EXPECT_TRUE(number1.SetInfo(PHONE_HOME_COUNTRY_CODE, |
88 ASCIIToUTF16("1"))); | 91 ASCIIToUTF16("1"))); |
89 EXPECT_TRUE(number1.SetInfo(PHONE_HOME_CITY_CODE, | 92 EXPECT_TRUE(number1.SetInfo(PHONE_HOME_CITY_CODE, |
90 ASCIIToUTF16("650"))); | 93 ASCIIToUTF16("650"))); |
91 EXPECT_TRUE(number1.SetInfo(PHONE_HOME_NUMBER, | 94 EXPECT_TRUE(number1.SetInfo(PHONE_HOME_NUMBER, |
92 ASCIIToUTF16("2345678"))); | 95 ASCIIToUTF16("2345678"))); |
93 string16 parsed_phone; | 96 string16 parsed_phone; |
94 EXPECT_TRUE(number1.ParseNumber("US", &parsed_phone)); | 97 EXPECT_TRUE(number1.ParseNumber(profile, "en-US", &parsed_phone)); |
95 // International format as it has a country code. | 98 // International format as it has a country code. |
96 EXPECT_EQ(ASCIIToUTF16("+1 650-234-5678"), parsed_phone); | 99 EXPECT_EQ(ASCIIToUTF16("+1 650-234-5678"), parsed_phone); |
97 | 100 |
98 PhoneNumber::PhoneCombineHelper number3; | 101 PhoneNumber::PhoneCombineHelper number3; |
99 EXPECT_TRUE(number3.SetInfo(PHONE_HOME_CITY_CODE, | 102 EXPECT_TRUE(number3.SetInfo(PHONE_HOME_CITY_CODE, |
100 ASCIIToUTF16("650"))); | 103 ASCIIToUTF16("650"))); |
101 EXPECT_TRUE(number3.SetInfo(PHONE_HOME_NUMBER, | 104 EXPECT_TRUE(number3.SetInfo(PHONE_HOME_NUMBER, |
102 ASCIIToUTF16("2345680"))); | 105 ASCIIToUTF16("2345680"))); |
103 EXPECT_TRUE(number3.ParseNumber("US", &parsed_phone)); | 106 EXPECT_TRUE(number3.ParseNumber(profile, "en-US", &parsed_phone)); |
104 // National format as it does not have a country code. | 107 // National format as it does not have a country code. |
105 EXPECT_EQ(ASCIIToUTF16("(650) 234-5680"), parsed_phone); | 108 EXPECT_EQ(ASCIIToUTF16("(650) 234-5680"), parsed_phone); |
106 | 109 |
107 PhoneNumber::PhoneCombineHelper number4; | 110 PhoneNumber::PhoneCombineHelper number4; |
108 EXPECT_TRUE(number4.SetInfo(PHONE_HOME_CITY_CODE, | 111 EXPECT_TRUE(number4.SetInfo(PHONE_HOME_CITY_CODE, |
109 ASCIIToUTF16("123"))); // Incorrect city code. | 112 ASCIIToUTF16("123"))); // Incorrect city code. |
110 EXPECT_TRUE(number4.SetInfo(PHONE_HOME_NUMBER, | 113 EXPECT_TRUE(number4.SetInfo(PHONE_HOME_NUMBER, |
111 ASCIIToUTF16("2345680"))); | 114 ASCIIToUTF16("2345680"))); |
112 EXPECT_FALSE(number4.ParseNumber("US", &parsed_phone)); | 115 EXPECT_FALSE(number4.ParseNumber(profile, "en-US", &parsed_phone)); |
113 EXPECT_EQ(string16(), parsed_phone); | 116 EXPECT_EQ(string16(), parsed_phone); |
114 | 117 |
115 PhoneNumber::PhoneCombineHelper number5; | 118 PhoneNumber::PhoneCombineHelper number5; |
116 EXPECT_TRUE(number5.SetInfo(PHONE_HOME_CITY_AND_NUMBER, | 119 EXPECT_TRUE(number5.SetInfo(PHONE_HOME_CITY_AND_NUMBER, |
117 ASCIIToUTF16("6502345681"))); | 120 ASCIIToUTF16("6502345681"))); |
118 EXPECT_TRUE(number5.ParseNumber("US", &parsed_phone)); | 121 EXPECT_TRUE(number5.ParseNumber(profile, "en-US", &parsed_phone)); |
119 EXPECT_EQ(ASCIIToUTF16("(650) 234-5681"), parsed_phone); | 122 EXPECT_EQ(ASCIIToUTF16("(650) 234-5681"), parsed_phone); |
120 | 123 |
121 PhoneNumber::PhoneCombineHelper number6; | 124 PhoneNumber::PhoneCombineHelper number6; |
122 EXPECT_TRUE(number6.SetInfo(PHONE_HOME_CITY_CODE, | 125 EXPECT_TRUE(number6.SetInfo(PHONE_HOME_CITY_CODE, |
123 ASCIIToUTF16("650"))); | 126 ASCIIToUTF16("650"))); |
124 EXPECT_TRUE(number6.SetInfo(PHONE_HOME_NUMBER, | 127 EXPECT_TRUE(number6.SetInfo(PHONE_HOME_NUMBER, |
125 ASCIIToUTF16("234"))); | 128 ASCIIToUTF16("234"))); |
126 EXPECT_TRUE(number6.SetInfo(PHONE_HOME_NUMBER, | 129 EXPECT_TRUE(number6.SetInfo(PHONE_HOME_NUMBER, |
127 ASCIIToUTF16("5682"))); | 130 ASCIIToUTF16("5682"))); |
128 EXPECT_TRUE(number6.ParseNumber("US", &parsed_phone)); | 131 EXPECT_TRUE(number6.ParseNumber(profile, "en-US", &parsed_phone)); |
| 132 EXPECT_EQ(ASCIIToUTF16("(650) 234-5682"), parsed_phone); |
| 133 |
| 134 // Ensure parsing is possible when falling back to detecting the country code |
| 135 // based on the app locale. |
| 136 PhoneNumber::PhoneCombineHelper number7; |
| 137 EXPECT_TRUE(number7.SetInfo(PHONE_HOME_CITY_CODE, |
| 138 ASCIIToUTF16("650"))); |
| 139 EXPECT_TRUE(number7.SetInfo(PHONE_HOME_NUMBER, |
| 140 ASCIIToUTF16("234"))); |
| 141 EXPECT_TRUE(number7.SetInfo(PHONE_HOME_NUMBER, |
| 142 ASCIIToUTF16("5682"))); |
| 143 EXPECT_TRUE(number7.ParseNumber(AutofillProfile(), "en-US", &parsed_phone)); |
129 EXPECT_EQ(ASCIIToUTF16("(650) 234-5682"), parsed_phone); | 144 EXPECT_EQ(ASCIIToUTF16("(650) 234-5682"), parsed_phone); |
130 } | 145 } |
OLD | NEW |