OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "components/autofill/core/browser/address_rewriter.h" |
| 6 |
| 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 |
| 10 using base::UTF8ToUTF16; |
| 11 using autofill::AddressRewriter; |
| 12 |
| 13 TEST(AddressRewriterTest, InvalidCountryCode) { |
| 14 AddressRewriter ad = AddressRewriter::ForCountryCode(UTF8ToUTF16("ZZZZ")); |
| 15 const base::string16 kSomeRandomText = UTF8ToUTF16("some random text"); |
| 16 const base::string16 kOtherRandomText = UTF8ToUTF16("other random text"); |
| 17 |
| 18 EXPECT_EQ(ad.Rewrite(kSomeRandomText), ad.Rewrite(kSomeRandomText)); |
| 19 EXPECT_EQ(ad.Rewrite(kOtherRandomText), ad.Rewrite(kOtherRandomText)); |
| 20 |
| 21 EXPECT_NE(ad.Rewrite(kSomeRandomText), ad.Rewrite(kOtherRandomText)); |
| 22 } |
| 23 |
| 24 TEST(AddressRewriterTest, AD) { |
| 25 AddressRewriter ad = AddressRewriter::ForCountryCode(UTF8ToUTF16("ad")); |
| 26 EXPECT_EQ(ad.Rewrite(UTF8ToUTF16("parroquia de andorra la vella")), |
| 27 ad.Rewrite(UTF8ToUTF16("andorra la vella"))); |
| 28 EXPECT_EQ(ad.Rewrite(UTF8ToUTF16("principal de andorra")), |
| 29 ad.Rewrite(UTF8ToUTF16("an"))); |
| 30 } |
| 31 |
| 32 TEST(AddressRewriterTest, AR) { |
| 33 AddressRewriter ar = AddressRewriter::ForCountryCode(UTF8ToUTF16("ar")); |
| 34 EXPECT_EQ(ar.Rewrite(UTF8ToUTF16( |
| 35 "tierra del fuego antartida e islas del atlantico sur")), |
| 36 ar.Rewrite(UTF8ToUTF16("tierra del fuego"))); |
| 37 EXPECT_EQ(ar.Rewrite(UTF8ToUTF16("ciudad autonoma de buenos aires")), |
| 38 ar.Rewrite(UTF8ToUTF16("capital federal"))); |
| 39 } |
| 40 |
| 41 TEST(AddressRewriterTest, AU) { |
| 42 AddressRewriter au = AddressRewriter::ForCountryCode(UTF8ToUTF16("au")); |
| 43 EXPECT_EQ(au.Rewrite(UTF8ToUTF16("australian capital territory")), |
| 44 au.Rewrite(UTF8ToUTF16("act"))); |
| 45 EXPECT_EQ(au.Rewrite(UTF8ToUTF16("jervis bay territory")), |
| 46 au.Rewrite(UTF8ToUTF16("jbt"))); |
| 47 } |
| 48 |
| 49 TEST(AddressRewriterTest, BE) { |
| 50 AddressRewriter be = AddressRewriter::ForCountryCode(UTF8ToUTF16("be")); |
| 51 EXPECT_EQ(be.Rewrite(UTF8ToUTF16("brussels hoofdstedelijk gewest")), |
| 52 be.Rewrite(UTF8ToUTF16("region de bruxelles capitale"))); |
| 53 EXPECT_EQ(be.Rewrite(UTF8ToUTF16("arrondissement administratif de foo")), |
| 54 be.Rewrite(UTF8ToUTF16("foo"))); |
| 55 } |
| 56 |
| 57 TEST(AddressRewriterTest, BR) { |
| 58 AddressRewriter br = AddressRewriter::ForCountryCode(UTF8ToUTF16("br")); |
| 59 EXPECT_EQ(br.Rewrite(UTF8ToUTF16("rio grande do norte")), |
| 60 br.Rewrite(UTF8ToUTF16("rn"))); |
| 61 } |
| 62 |
| 63 TEST(AddressRewriterTest, CA) { |
| 64 AddressRewriter ca = AddressRewriter::ForCountryCode(UTF8ToUTF16("ca")); |
| 65 EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("qc")), ca.Rewrite(UTF8ToUTF16("quebec"))); |
| 66 EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("prince edward island")), |
| 67 ca.Rewrite(UTF8ToUTF16("pei"))); |
| 68 EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("prince edward island")), |
| 69 ca.Rewrite(UTF8ToUTF16("ile du prince edouard"))); |
| 70 EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("st")), ca.Rewrite(UTF8ToUTF16("street"))); |
| 71 EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("sainte")), |
| 72 ca.Rewrite(UTF8ToUTF16("saint"))); |
| 73 } |
| 74 |
| 75 TEST(AddressRewriterTest, CH) { |
| 76 AddressRewriter ch = AddressRewriter::ForCountryCode(UTF8ToUTF16("ch")); |
| 77 EXPECT_EQ(ch.Rewrite(UTF8ToUTF16("appenzell rhodes exterieures")), |
| 78 ch.Rewrite(UTF8ToUTF16("appenzell ausserrhoden"))); |
| 79 EXPECT_EQ(ch.Rewrite(UTF8ToUTF16("prettigovia davos")), |
| 80 ch.Rewrite(UTF8ToUTF16("prattigau davos"))); |
| 81 } |
| 82 |
| 83 TEST(AddressRewriterTest, CL) { |
| 84 AddressRewriter cl = AddressRewriter::ForCountryCode(UTF8ToUTF16("cl")); |
| 85 EXPECT_EQ( |
| 86 cl.Rewrite(UTF8ToUTF16("aisen del general carlos ibanez del campo")), |
| 87 cl.Rewrite(UTF8ToUTF16("xi"))); |
| 88 EXPECT_EQ(cl.Rewrite(UTF8ToUTF16("metropolitana de santiago de chile")), |
| 89 cl.Rewrite(UTF8ToUTF16("metropolitana de santiago"))); |
| 90 } |
| 91 |
| 92 TEST(AddressRewriterTest, CO) { |
| 93 AddressRewriter co = AddressRewriter::ForCountryCode(UTF8ToUTF16("co")); |
| 94 EXPECT_EQ(co.Rewrite(UTF8ToUTF16("columbia")), |
| 95 co.Rewrite(UTF8ToUTF16("colombia"))); |
| 96 } |
| 97 |
| 98 TEST(AddressRewriterTest, DE) { |
| 99 AddressRewriter de = AddressRewriter::ForCountryCode(UTF8ToUTF16("de")); |
| 100 EXPECT_EQ(de.Rewrite(UTF8ToUTF16("federal republic of germany")), |
| 101 de.Rewrite(UTF8ToUTF16("deutschland"))); |
| 102 EXPECT_EQ(de.Rewrite(UTF8ToUTF16("germany")), |
| 103 de.Rewrite(UTF8ToUTF16("bundesrepublik deutschland"))); |
| 104 } |
| 105 |
| 106 TEST(AddressRewriterTest, DK) { |
| 107 AddressRewriter dk = AddressRewriter::ForCountryCode(UTF8ToUTF16("dk")); |
| 108 EXPECT_EQ(dk.Rewrite(UTF8ToUTF16("denmark")), |
| 109 dk.Rewrite(UTF8ToUTF16("danmark"))); |
| 110 } |
| 111 |
| 112 TEST(AddressRewriterTest, ES) { |
| 113 AddressRewriter es = AddressRewriter::ForCountryCode(UTF8ToUTF16("es")); |
| 114 EXPECT_EQ(es.Rewrite(UTF8ToUTF16("balearic islands")), |
| 115 es.Rewrite(UTF8ToUTF16("islas baleares"))); |
| 116 } |
| 117 |
| 118 TEST(AddressRewriterTest, FR) { |
| 119 AddressRewriter fr = AddressRewriter::ForCountryCode(UTF8ToUTF16("fr")); |
| 120 EXPECT_EQ(fr.Rewrite(UTF8ToUTF16("quatorzieme")), |
| 121 fr.Rewrite(UTF8ToUTF16("14"))); |
| 122 } |
| 123 |
| 124 TEST(AddressRewriterTest, GB) { |
| 125 AddressRewriter gb = AddressRewriter::ForCountryCode(UTF8ToUTF16("gb")); |
| 126 EXPECT_EQ(gb.Rewrite(UTF8ToUTF16("north east lincolnshire")), |
| 127 gb.Rewrite(UTF8ToUTF16("gb-nel"))); |
| 128 |
| 129 EXPECT_NE(gb.Rewrite(UTF8ToUTF16("norfolk")), |
| 130 gb.Rewrite(UTF8ToUTF16("suffolk"))); |
| 131 } |
| 132 |
| 133 TEST(AddressRewriterTest, GR) { |
| 134 AddressRewriter gr = AddressRewriter::ForCountryCode(UTF8ToUTF16("gr")); |
| 135 EXPECT_EQ(gr.Rewrite(UTF8ToUTF16("aitolia kai akarnania")), |
| 136 gr.Rewrite(UTF8ToUTF16("aitoloakarnania"))); |
| 137 } |
| 138 |
| 139 TEST(AddressRewriterTest, HK) { |
| 140 AddressRewriter hk = AddressRewriter::ForCountryCode(UTF8ToUTF16("hk")); |
| 141 EXPECT_EQ(hk.Rewrite(UTF8ToUTF16("hong kong")), |
| 142 hk.Rewrite(UTF8ToUTF16("hk"))); |
| 143 } |
| 144 |
| 145 TEST(AddressRewriterTest, ID) { |
| 146 AddressRewriter id = AddressRewriter::ForCountryCode(UTF8ToUTF16("id")); |
| 147 EXPECT_EQ(id.Rewrite(UTF8ToUTF16("nanggroe aceh darussalam")), |
| 148 id.Rewrite(UTF8ToUTF16("aceh"))); |
| 149 } |
| 150 |
| 151 TEST(AddressRewriterTest, IE) { |
| 152 AddressRewriter ie = AddressRewriter::ForCountryCode(UTF8ToUTF16("ie")); |
| 153 EXPECT_EQ(ie.Rewrite(UTF8ToUTF16("avenue")), ie.Rewrite(UTF8ToUTF16("ave"))); |
| 154 } |
| 155 |
| 156 TEST(AddressRewriterTest, IN) { |
| 157 AddressRewriter in = AddressRewriter::ForCountryCode(UTF8ToUTF16("in")); |
| 158 EXPECT_EQ(in.Rewrite(UTF8ToUTF16("thiruvananthapuram")), |
| 159 in.Rewrite(UTF8ToUTF16("tiruvananthapuram"))); |
| 160 } |
| 161 |
| 162 TEST(AddressRewriterTest, IT) { |
| 163 AddressRewriter it = AddressRewriter::ForCountryCode(UTF8ToUTF16("it")); |
| 164 EXPECT_EQ(it.Rewrite(UTF8ToUTF16("trentino alto adige")), |
| 165 it.Rewrite(UTF8ToUTF16("trentino sudtirol"))); |
| 166 } |
| 167 |
| 168 TEST(AddressRewriterTest, LU) { |
| 169 AddressRewriter lu = AddressRewriter::ForCountryCode(UTF8ToUTF16("lu")); |
| 170 EXPECT_EQ(lu.Rewrite(UTF8ToUTF16("esplanade")), |
| 171 lu.Rewrite(UTF8ToUTF16("espl"))); |
| 172 } |
| 173 |
| 174 TEST(AddressRewriterTest, MX) { |
| 175 AddressRewriter mx = AddressRewriter::ForCountryCode(UTF8ToUTF16("mx")); |
| 176 EXPECT_EQ(mx.Rewrite(UTF8ToUTF16("estado de mexico")), |
| 177 mx.Rewrite(UTF8ToUTF16("mexico"))); |
| 178 } |
| 179 |
| 180 TEST(AddressRewriterTest, MY) { |
| 181 AddressRewriter my = AddressRewriter::ForCountryCode(UTF8ToUTF16("my")); |
| 182 EXPECT_EQ(my.Rewrite(UTF8ToUTF16("malaysia")), my.Rewrite(UTF8ToUTF16("my"))); |
| 183 } |
| 184 |
| 185 TEST(AddressRewriterTest, NL) { |
| 186 AddressRewriter nl = AddressRewriter::ForCountryCode(UTF8ToUTF16("nl")); |
| 187 EXPECT_EQ(nl.Rewrite(UTF8ToUTF16("nordholland")), |
| 188 nl.Rewrite(UTF8ToUTF16("noord holland"))); |
| 189 } |
| 190 |
| 191 TEST(AddressRewriterTest, NZ) { |
| 192 AddressRewriter nz = AddressRewriter::ForCountryCode(UTF8ToUTF16("nz")); |
| 193 EXPECT_EQ(nz.Rewrite(UTF8ToUTF16("oceanbeach")), |
| 194 nz.Rewrite(UTF8ToUTF16("ocean beach"))); |
| 195 } |
| 196 |
| 197 TEST(AddressRewriterTest, PE) { |
| 198 AddressRewriter pe = AddressRewriter::ForCountryCode(UTF8ToUTF16("pe")); |
| 199 EXPECT_EQ(pe.Rewrite(UTF8ToUTF16("avenida")), pe.Rewrite(UTF8ToUTF16("av"))); |
| 200 } |
| 201 |
| 202 TEST(AddressRewriterTest, PH) { |
| 203 AddressRewriter ph = AddressRewriter::ForCountryCode(UTF8ToUTF16("ph")); |
| 204 EXPECT_EQ(ph.Rewrite(UTF8ToUTF16("philippines")), |
| 205 ph.Rewrite(UTF8ToUTF16("ph"))); |
| 206 } |
| 207 |
| 208 TEST(AddressRewriterTest, PL) { |
| 209 AddressRewriter pl = AddressRewriter::ForCountryCode(UTF8ToUTF16("pl")); |
| 210 EXPECT_EQ(pl.Rewrite(UTF8ToUTF16("warmian masurian")), |
| 211 pl.Rewrite(UTF8ToUTF16("warminsko"))); |
| 212 } |
| 213 |
| 214 TEST(AddressRewriterTest, PR) { |
| 215 AddressRewriter pr = AddressRewriter::ForCountryCode(UTF8ToUTF16("pr")); |
| 216 EXPECT_EQ(pr.Rewrite(UTF8ToUTF16("san juan antiguo")), |
| 217 pr.Rewrite(UTF8ToUTF16("old san juan"))); |
| 218 } |
| 219 |
| 220 TEST(AddressRewriterTest, PT) { |
| 221 AddressRewriter pt = AddressRewriter::ForCountryCode(UTF8ToUTF16("pt")); |
| 222 EXPECT_EQ(pt.Rewrite(UTF8ToUTF16("doctor")), |
| 223 pt.Rewrite(UTF8ToUTF16("doutor"))); |
| 224 } |
| 225 |
| 226 TEST(AddressRewriterTest, RO) { |
| 227 AddressRewriter ro = AddressRewriter::ForCountryCode(UTF8ToUTF16("ro")); |
| 228 EXPECT_EQ(ro.Rewrite(UTF8ToUTF16("romania")), ro.Rewrite(UTF8ToUTF16("ro"))); |
| 229 } |
| 230 |
| 231 TEST(AddressRewriterTest, RU) { |
| 232 AddressRewriter ru = AddressRewriter::ForCountryCode(UTF8ToUTF16("ru")); |
| 233 // TODO(rogerm): UTF8 matching isnt' working as expected. Fix it! |
| 234 EXPECT_NE(ru.Rewrite(UTF8ToUTF16("россия")), |
| 235 ru.Rewrite(UTF8ToUTF16("russia"))); |
| 236 } |
| 237 |
| 238 TEST(AddressRewriterTest, SE) { |
| 239 AddressRewriter se = AddressRewriter::ForCountryCode(UTF8ToUTF16("se")); |
| 240 EXPECT_EQ(se.Rewrite(UTF8ToUTF16("oestergoetland")), |
| 241 se.Rewrite(UTF8ToUTF16("vastergoetland"))); |
| 242 } |
| 243 |
| 244 TEST(AddressRewriterTest, TH) { |
| 245 AddressRewriter th = AddressRewriter::ForCountryCode(UTF8ToUTF16("th")); |
| 246 // TODO(rogerm): UTF8 matching isnt' working as expected. Fix it! |
| 247 EXPECT_NE(th.Rewrite(UTF8ToUTF16("ประเทศไทย")), |
| 248 th.Rewrite(UTF8ToUTF16("thailand"))); |
| 249 } |
| 250 |
| 251 TEST(AddressRewriterTest, TR) { |
| 252 AddressRewriter tr = AddressRewriter::ForCountryCode(UTF8ToUTF16("tr")); |
| 253 EXPECT_EQ(tr.Rewrite(UTF8ToUTF16("turkiye")), |
| 254 tr.Rewrite(UTF8ToUTF16("turkey"))); |
| 255 } |
| 256 |
| 257 TEST(AddressRewriterTest, US) { |
| 258 AddressRewriter us = AddressRewriter::ForCountryCode(UTF8ToUTF16("us")); |
| 259 EXPECT_EQ(us.Rewrite(UTF8ToUTF16("ca")), |
| 260 us.Rewrite(UTF8ToUTF16("california"))); |
| 261 EXPECT_EQ(us.Rewrite(UTF8ToUTF16("west virginia")), |
| 262 us.Rewrite(UTF8ToUTF16("wv"))); |
| 263 EXPECT_EQ(us.Rewrite(UTF8ToUTF16("virginia")), us.Rewrite(UTF8ToUTF16("va"))); |
| 264 EXPECT_EQ(us.Rewrite(UTF8ToUTF16("washington d c")), |
| 265 us.Rewrite(UTF8ToUTF16("washington dc"))); |
| 266 |
| 267 // Similar names, but not the same. |
| 268 EXPECT_NE(us.Rewrite(UTF8ToUTF16("west virginia")), |
| 269 us.Rewrite(UTF8ToUTF16("virginia"))); |
| 270 EXPECT_NE(us.Rewrite(UTF8ToUTF16("washington")), |
| 271 us.Rewrite(UTF8ToUTF16("washington dc"))); |
| 272 } |
| 273 |
| 274 TEST(AddressRewriterTest, VN) { |
| 275 AddressRewriter vn = AddressRewriter::ForCountryCode(UTF8ToUTF16("vn")); |
| 276 EXPECT_EQ(vn.Rewrite(UTF8ToUTF16("viet nam")), |
| 277 vn.Rewrite(UTF8ToUTF16("vietnam"))); |
| 278 } |
| 279 |
| 280 TEST(AddressRewriterTest, ZA) { |
| 281 AddressRewriter za = AddressRewriter::ForCountryCode(UTF8ToUTF16("za")); |
| 282 EXPECT_EQ(za.Rewrite(UTF8ToUTF16("republic of south africa")), |
| 283 za.Rewrite(UTF8ToUTF16("south africa"))); |
| 284 } |
OLD | NEW |