| 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 |