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

Side by Side Diff: third_party/libaddressinput/chromium/cpp/test/address_data_test.cc

Issue 389863002: Remove Chrome's own version of libaddressinput in favor of the upstream. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (C) 2014 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 #include <libaddressinput/address_data.h>
16
17 #include <libaddressinput/address_field.h>
18
19 #include <sstream>
20
21 #include <gtest/gtest.h>
22
23 namespace {
24
25 using i18n::addressinput::AddressData;
26 using i18n::addressinput::AddressField;
27
28 using i18n::addressinput::COUNTRY;
29 using i18n::addressinput::ADMIN_AREA;
30 using i18n::addressinput::LOCALITY;
31 using i18n::addressinput::DEPENDENT_LOCALITY;
32 using i18n::addressinput::SORTING_CODE;
33 using i18n::addressinput::POSTAL_CODE;
34 using i18n::addressinput::STREET_ADDRESS;
35 using i18n::addressinput::RECIPIENT;
36
37 TEST(AddressDataTest, GetFieldValue) {
38 AddressData address;
39 address.region_code = "rrr";
40 address.administrative_area = "sss";
41 address.locality = "ccc";
42 address.dependent_locality = "ddd";
43 address.sorting_code = "xxx";
44 address.postal_code = "zzz";
45 address.recipient = "nnn";
46
47 EXPECT_EQ(address.region_code,
48 address.GetFieldValue(COUNTRY));
49 EXPECT_EQ(address.administrative_area,
50 address.GetFieldValue(ADMIN_AREA));
51 EXPECT_EQ(address.locality,
52 address.GetFieldValue(LOCALITY));
53 EXPECT_EQ(address.dependent_locality,
54 address.GetFieldValue(DEPENDENT_LOCALITY));
55 EXPECT_EQ(address.sorting_code,
56 address.GetFieldValue(SORTING_CODE));
57 EXPECT_EQ(address.postal_code,
58 address.GetFieldValue(POSTAL_CODE));
59 EXPECT_EQ(address.recipient,
60 address.GetFieldValue(RECIPIENT));
61 }
62
63 TEST(AddressDataTest, GetRepeatedFieldValue) {
64 AddressData address;
65 address.address_line.push_back("aaa");
66 address.address_line.push_back("222");
67 EXPECT_EQ(address.address_line,
68 address.GetRepeatedFieldValue(STREET_ADDRESS));
69 }
70
71 TEST(AddressDataTest, IsFieldEmpty) {
72 AddressData address;
73
74 EXPECT_TRUE(address.IsFieldEmpty(COUNTRY));
75 EXPECT_TRUE(address.IsFieldEmpty(ADMIN_AREA));
76 EXPECT_TRUE(address.IsFieldEmpty(LOCALITY));
77 EXPECT_TRUE(address.IsFieldEmpty(DEPENDENT_LOCALITY));
78 EXPECT_TRUE(address.IsFieldEmpty(SORTING_CODE));
79 EXPECT_TRUE(address.IsFieldEmpty(POSTAL_CODE));
80 EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
81 EXPECT_TRUE(address.IsFieldEmpty(RECIPIENT));
82
83 address.region_code = "rrr";
84 address.administrative_area = "sss";
85 address.locality = "ccc";
86 address.dependent_locality = "ddd";
87 address.sorting_code = "xxx";
88 address.postal_code = "zzz";
89 address.address_line.push_back("aaa");
90 address.recipient = "nnn";
91
92 EXPECT_FALSE(address.IsFieldEmpty(COUNTRY));
93 EXPECT_FALSE(address.IsFieldEmpty(ADMIN_AREA));
94 EXPECT_FALSE(address.IsFieldEmpty(LOCALITY));
95 EXPECT_FALSE(address.IsFieldEmpty(DEPENDENT_LOCALITY));
96 EXPECT_FALSE(address.IsFieldEmpty(SORTING_CODE));
97 EXPECT_FALSE(address.IsFieldEmpty(POSTAL_CODE));
98 EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
99 EXPECT_FALSE(address.IsFieldEmpty(RECIPIENT));
100 }
101
102 TEST(AddressDataTest, IsFieldEmptyWhitespace) {
103 AddressData address;
104 address.recipient = " ";
105 EXPECT_TRUE(address.IsFieldEmpty(RECIPIENT));
106 address.recipient = "abc";
107 EXPECT_FALSE(address.IsFieldEmpty(RECIPIENT));
108 address.recipient = " b ";
109 EXPECT_FALSE(address.IsFieldEmpty(RECIPIENT));
110 }
111
112 TEST(AddressDataTest, IsFieldEmptyVector) {
113 AddressData address;
114 EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
115 address.address_line.push_back("");
116 EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
117 address.address_line.push_back("aaa");
118 EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
119 address.address_line.push_back("");
120 EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
121 }
122
123 TEST(AddressDataTest, IsFieldEmptyVectorWhitespace) {
124 AddressData address;
125 address.address_line.push_back(" ");
126 address.address_line.push_back(" ");
127 address.address_line.push_back(" ");
128 EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
129 address.address_line.clear();
130 address.address_line.push_back("abc");
131 EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
132 address.address_line.clear();
133 address.address_line.push_back(" ");
134 address.address_line.push_back(" b ");
135 address.address_line.push_back(" ");
136 EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
137 }
138
139 TEST(AddressDataTest, StreamFunction) {
140 std::ostringstream oss;
141 AddressData address;
142 address.address_line.push_back("Line 1");
143 address.address_line.push_back("Line 2");
144 address.recipient = "N";
145 address.region_code = "R";
146 address.postal_code = "Z";
147 address.administrative_area = "S";
148 address.locality = "C";
149 address.dependent_locality = "D";
150 address.sorting_code = "X";
151 address.language_code = "zh-Hant";
152 oss << address;
153 EXPECT_EQ("region_code: \"R\"\n"
154 "administrative_area: \"S\"\n"
155 "locality: \"C\"\n"
156 "dependent_locality: \"D\"\n"
157 "postal_code: \"Z\"\n"
158 "sorting_code: \"X\"\n"
159 "address_line: \"Line 1\"\n"
160 "address_line: \"Line 2\"\n"
161 "language_code: \"zh-Hant\"\n"
162 "recipient: \"N\"\n", oss.str());
163 }
164
165 TEST(AddressDataTest, TestEquals) {
166 AddressData address;
167 address.address_line.push_back("Line 1");
168 address.address_line.push_back("Line 2");
169 address.recipient = "N";
170 address.region_code = "R";
171 address.postal_code = "Z";
172 address.administrative_area = "S";
173 address.locality = "C";
174 address.dependent_locality = "D";
175 address.sorting_code = "X";
176 address.language_code = "zh-Hant";
177
178 AddressData clone = address;
179
180 EXPECT_EQ(address, clone);
181 clone.language_code.clear();
182 EXPECT_FALSE(address == clone);
183 }
184
185 #ifndef NDEBUG
186
187 TEST(AddressDataTest, GetFieldValueInvalid) {
188 AddressData address;
189 ASSERT_DEATH(address.GetFieldValue(STREET_ADDRESS), "ssertion.*failed");
190 }
191
192 TEST(AddressDataTest, GetVectorFieldValueInvalid) {
193 AddressData address;
194 ASSERT_DEATH(address.GetRepeatedFieldValue(COUNTRY), "ssertion.*failed");
195 }
196
197 TEST(AddressDataTest, IsFieldEmptyInvalid) {
198 static const AddressField invalid_field = static_cast<AddressField>(-1);
199 AddressData address;
200 ASSERT_DEATH(address.IsFieldEmpty(invalid_field), "ssertion.*failed");
201 }
202
203 #endif // NDEBUG
204
205 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698