OLD | NEW |
| (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 <string> | |
18 #include <vector> | |
19 | |
20 #include <gtest/gtest.h> | |
21 | |
22 namespace { | |
23 | |
24 using i18n::addressinput::AddressData; | |
25 | |
26 TEST(AddressDataTest, FormatForDisplayEmpty) { | |
27 AddressData address; | |
28 std::vector<std::string> actual; | |
29 address.FormatForDisplay(&actual); | |
30 EXPECT_EQ(std::vector<std::string>(), actual); | |
31 } | |
32 | |
33 TEST(AddressDataTest, FormatForDisplayUs) { | |
34 AddressData address; | |
35 address.country_code = "US"; | |
36 address.administrative_area = "Texas"; | |
37 address.locality = "Houston"; | |
38 address.postal_code = "77005"; | |
39 address.address_lines.push_back("123 Main St"); | |
40 address.address_lines.push_back("Apt 2"); | |
41 address.organization = "ACME Corp."; | |
42 address.recipient = "John Doe"; | |
43 | |
44 std::vector<std::string> actual; | |
45 address.FormatForDisplay(&actual); | |
46 | |
47 std::vector<std::string> expected; | |
48 expected.push_back(address.recipient); | |
49 expected.push_back(address.organization); | |
50 expected.insert(expected.end(), | |
51 address.address_lines.begin(), | |
52 address.address_lines.end()); | |
53 expected.push_back(address.locality + ", " + address.administrative_area + | |
54 " " + address.postal_code); | |
55 | |
56 EXPECT_EQ(expected, actual); | |
57 } | |
58 | |
59 TEST(AddressDataTest, FormatForDisplayAr) { | |
60 AddressData address; | |
61 address.country_code = "AR"; | |
62 address.administrative_area = "Capital Federal"; | |
63 address.locality = "Buenos Aires"; | |
64 address.postal_code = "C1001AFB"; | |
65 address.address_lines.push_back("Su Calle 123"); | |
66 address.address_lines.push_back("5° Piso"); | |
67 address.organization = "Empresa Ejemplo"; | |
68 address.recipient = "Juan Perez"; | |
69 | |
70 std::vector<std::string> actual; | |
71 address.FormatForDisplay(&actual); | |
72 | |
73 std::vector<std::string> expected; | |
74 expected.push_back(address.recipient); | |
75 expected.push_back(address.organization); | |
76 expected.insert(expected.end(), | |
77 address.address_lines.begin(), | |
78 address.address_lines.end()); | |
79 expected.push_back(address.postal_code + " " + address.locality); | |
80 expected.push_back(address.administrative_area); | |
81 | |
82 EXPECT_EQ(expected, actual); | |
83 } | |
84 | |
85 TEST(AddressDataTest, FormatForDisplayJp) { | |
86 AddressData address; | |
87 address.country_code = "JP"; | |
88 address.language_code = "ja"; | |
89 address.administrative_area = "東京都"; | |
90 address.locality = "渋谷区"; | |
91 address.postal_code = "150-8512"; | |
92 address.address_lines.push_back("桜丘町26-1"); | |
93 address.address_lines.push_back("セルリアンタワー6階"); | |
94 address.organization = "グーグル株式会社"; | |
95 address.recipient = "村上 美紀"; | |
96 | |
97 std::vector<std::string> actual; | |
98 address.FormatForDisplay(&actual); | |
99 | |
100 std::vector<std::string> expected; | |
101 expected.push_back("〒" + address.postal_code); | |
102 expected.push_back(address.administrative_area + address.locality); | |
103 expected.insert(expected.end(), | |
104 address.address_lines.begin(), | |
105 address.address_lines.end()); | |
106 expected.push_back(address.organization); | |
107 expected.push_back(address.recipient); | |
108 | |
109 EXPECT_EQ(expected, actual); | |
110 } | |
111 | |
112 TEST(AddressDataTest, FormatForDisplayJpLatn) { | |
113 AddressData address; | |
114 address.country_code = "JP"; | |
115 address.language_code = "ja-latn"; | |
116 address.administrative_area = "Tokyo"; | |
117 address.locality = "Shibuya-ku"; | |
118 address.postal_code = "150-8512"; | |
119 address.address_lines.push_back("26-1 Sakuragaoka-cho"); | |
120 address.address_lines.push_back("Cerulean Tower 6F"); | |
121 address.organization = "Google Japan Inc."; | |
122 address.recipient = "Miki Murakami"; | |
123 | |
124 std::vector<std::string> actual; | |
125 address.FormatForDisplay(&actual); | |
126 | |
127 std::vector<std::string> expected; | |
128 expected.push_back(address.recipient); | |
129 expected.push_back(address.organization); | |
130 expected.insert(expected.end(), | |
131 address.address_lines.begin(), | |
132 address.address_lines.end()); | |
133 expected.push_back(address.locality + ", "+ address.administrative_area); | |
134 expected.push_back(address.postal_code); | |
135 | |
136 EXPECT_EQ(expected, actual); | |
137 } | |
138 | |
139 TEST(AddressDataTest, FormatForDisplayJpLatnCapitalized) { | |
140 AddressData address; | |
141 address.country_code = "JP"; | |
142 address.language_code = "ja-Latn"; | |
143 address.administrative_area = "Tokyo"; | |
144 address.locality = "Shibuya-ku"; | |
145 address.postal_code = "150-8512"; | |
146 address.address_lines.push_back("26-1 Sakuragaoka-cho"); | |
147 address.address_lines.push_back("Cerulean Tower 6F"); | |
148 address.organization = "Google Japan Inc."; | |
149 address.recipient = "Miki Murakami"; | |
150 | |
151 std::vector<std::string> actual; | |
152 address.FormatForDisplay(&actual); | |
153 | |
154 std::vector<std::string> expected; | |
155 expected.push_back(address.recipient); | |
156 expected.push_back(address.organization); | |
157 expected.insert(expected.end(), | |
158 address.address_lines.begin(), | |
159 address.address_lines.end()); | |
160 expected.push_back(address.locality + ", "+ address.administrative_area); | |
161 expected.push_back(address.postal_code); | |
162 | |
163 EXPECT_EQ(expected, actual); | |
164 } | |
165 | |
166 TEST(AddressDataTest, FormatForDisplayJpLatnUs) { | |
167 AddressData address; | |
168 address.country_code = "JP"; | |
169 address.language_code = "ja-latn-US"; | |
170 address.administrative_area = "Tokyo"; | |
171 address.locality = "Shibuya-ku"; | |
172 address.postal_code = "150-8512"; | |
173 address.address_lines.push_back("26-1 Sakuragaoka-cho"); | |
174 address.address_lines.push_back("Cerulean Tower 6F"); | |
175 address.organization = "Google Japan Inc."; | |
176 address.recipient = "Miki Murakami"; | |
177 | |
178 std::vector<std::string> actual; | |
179 address.FormatForDisplay(&actual); | |
180 | |
181 std::vector<std::string> expected; | |
182 expected.push_back(address.recipient); | |
183 expected.push_back(address.organization); | |
184 expected.insert(expected.end(), | |
185 address.address_lines.begin(), | |
186 address.address_lines.end()); | |
187 expected.push_back(address.locality + ", "+ address.administrative_area); | |
188 expected.push_back(address.postal_code); | |
189 | |
190 EXPECT_EQ(expected, actual); | |
191 } | |
192 | |
193 TEST(AddressDataTest, FormatForDisplayWithStreetCi) { | |
194 AddressData address; | |
195 address.country_code = "CI"; | |
196 address.address_lines.push_back("Street Line 1"); | |
197 address.locality = "City Name"; | |
198 address.sorting_code = "123CEDEX"; | |
199 | |
200 std::vector<std::string> actual; | |
201 address.FormatForDisplay(&actual); | |
202 | |
203 std::vector<std::string> expected( | |
204 1, | |
205 address.sorting_code + " " + | |
206 address.address_lines[0] + " " + | |
207 address.locality + " " + | |
208 address.sorting_code); | |
209 | |
210 EXPECT_EQ(expected, actual); | |
211 } | |
212 | |
213 TEST(AddressDataTest, FormatForDisplayWithoutStreetCi) { | |
214 AddressData address; | |
215 address.country_code = "CI"; | |
216 address.locality = "City Name"; | |
217 address.sorting_code = "123CEDEX"; | |
218 | |
219 std::vector<std::string> actual; | |
220 address.FormatForDisplay(&actual); | |
221 | |
222 std::vector<std::string> expected( | |
223 1, | |
224 address.sorting_code + " " + | |
225 address.locality + " " + | |
226 address.sorting_code); | |
227 | |
228 EXPECT_EQ(expected, actual); | |
229 } | |
230 | |
231 } // namespace | |
OLD | NEW |