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

Side by Side Diff: chrome/browser/autofill/phone_number_unittest.cc

Issue 11783045: [Autofill] Ensure that clients pass the correct region info when parsing phone numbers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698