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

Unified Diff: components/autofill/core/browser/address_rewriter_unittest.cc

Issue 2137533002: Embed address normalization rewriting rules. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/address_rewriter_unittest.cc
diff --git a/components/autofill/core/browser/address_rewriter_unittest.cc b/components/autofill/core/browser/address_rewriter_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..67d97dcf25cc5ef609fbb6ab11be7c32d82a48db
--- /dev/null
+++ b/components/autofill/core/browser/address_rewriter_unittest.cc
@@ -0,0 +1,284 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/autofill/core/browser/address_rewriter.h"
+
+#include "base/strings/utf_string_conversions.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using base::UTF8ToUTF16;
+using autofill::AddressRewriter;
+
+TEST(AddressRewriterTest, InvalidCountryCode) {
+ AddressRewriter ad = AddressRewriter::ForCountryCode(UTF8ToUTF16("ZZZZ"));
+ const base::string16 kSomeRandomText = UTF8ToUTF16("some random text");
+ const base::string16 kOtherRandomText = UTF8ToUTF16("other random text");
+
+ EXPECT_EQ(ad.Rewrite(kSomeRandomText), ad.Rewrite(kSomeRandomText));
+ EXPECT_EQ(ad.Rewrite(kOtherRandomText), ad.Rewrite(kOtherRandomText));
+
+ EXPECT_NE(ad.Rewrite(kSomeRandomText), ad.Rewrite(kOtherRandomText));
+}
+
+TEST(AddressRewriterTest, AD) {
+ AddressRewriter ad = AddressRewriter::ForCountryCode(UTF8ToUTF16("ad"));
+ EXPECT_EQ(ad.Rewrite(UTF8ToUTF16("parroquia de andorra la vella")),
+ ad.Rewrite(UTF8ToUTF16("andorra la vella")));
+ EXPECT_EQ(ad.Rewrite(UTF8ToUTF16("principal de andorra")),
+ ad.Rewrite(UTF8ToUTF16("an")));
+}
+
+TEST(AddressRewriterTest, AR) {
+ AddressRewriter ar = AddressRewriter::ForCountryCode(UTF8ToUTF16("ar"));
+ EXPECT_EQ(ar.Rewrite(UTF8ToUTF16(
+ "tierra del fuego antartida e islas del atlantico sur")),
+ ar.Rewrite(UTF8ToUTF16("tierra del fuego")));
+ EXPECT_EQ(ar.Rewrite(UTF8ToUTF16("ciudad autonoma de buenos aires")),
+ ar.Rewrite(UTF8ToUTF16("capital federal")));
+}
+
+TEST(AddressRewriterTest, AU) {
+ AddressRewriter au = AddressRewriter::ForCountryCode(UTF8ToUTF16("au"));
+ EXPECT_EQ(au.Rewrite(UTF8ToUTF16("australian capital territory")),
+ au.Rewrite(UTF8ToUTF16("act")));
+ EXPECT_EQ(au.Rewrite(UTF8ToUTF16("jervis bay territory")),
+ au.Rewrite(UTF8ToUTF16("jbt")));
+}
+
+TEST(AddressRewriterTest, BE) {
+ AddressRewriter be = AddressRewriter::ForCountryCode(UTF8ToUTF16("be"));
+ EXPECT_EQ(be.Rewrite(UTF8ToUTF16("brussels hoofdstedelijk gewest")),
+ be.Rewrite(UTF8ToUTF16("region de bruxelles capitale")));
+ EXPECT_EQ(be.Rewrite(UTF8ToUTF16("arrondissement administratif de foo")),
+ be.Rewrite(UTF8ToUTF16("foo")));
+}
+
+TEST(AddressRewriterTest, BR) {
+ AddressRewriter br = AddressRewriter::ForCountryCode(UTF8ToUTF16("br"));
+ EXPECT_EQ(br.Rewrite(UTF8ToUTF16("rio grande do norte")),
+ br.Rewrite(UTF8ToUTF16("rn")));
+}
+
+TEST(AddressRewriterTest, CA) {
+ AddressRewriter ca = AddressRewriter::ForCountryCode(UTF8ToUTF16("ca"));
+ EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("qc")), ca.Rewrite(UTF8ToUTF16("quebec")));
+ EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("prince edward island")),
+ ca.Rewrite(UTF8ToUTF16("pei")));
+ EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("prince edward island")),
+ ca.Rewrite(UTF8ToUTF16("ile du prince edouard")));
+ EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("st")), ca.Rewrite(UTF8ToUTF16("street")));
+ EXPECT_EQ(ca.Rewrite(UTF8ToUTF16("sainte")),
+ ca.Rewrite(UTF8ToUTF16("saint")));
+}
+
+TEST(AddressRewriterTest, CH) {
+ AddressRewriter ch = AddressRewriter::ForCountryCode(UTF8ToUTF16("ch"));
+ EXPECT_EQ(ch.Rewrite(UTF8ToUTF16("appenzell rhodes exterieures")),
+ ch.Rewrite(UTF8ToUTF16("appenzell ausserrhoden")));
+ EXPECT_EQ(ch.Rewrite(UTF8ToUTF16("prettigovia davos")),
+ ch.Rewrite(UTF8ToUTF16("prattigau davos")));
+}
+
+TEST(AddressRewriterTest, CL) {
+ AddressRewriter cl = AddressRewriter::ForCountryCode(UTF8ToUTF16("cl"));
+ EXPECT_EQ(
+ cl.Rewrite(UTF8ToUTF16("aisen del general carlos ibanez del campo")),
+ cl.Rewrite(UTF8ToUTF16("xi")));
+ EXPECT_EQ(cl.Rewrite(UTF8ToUTF16("metropolitana de santiago de chile")),
+ cl.Rewrite(UTF8ToUTF16("metropolitana de santiago")));
+}
+
+TEST(AddressRewriterTest, CO) {
+ AddressRewriter co = AddressRewriter::ForCountryCode(UTF8ToUTF16("co"));
+ EXPECT_EQ(co.Rewrite(UTF8ToUTF16("columbia")),
+ co.Rewrite(UTF8ToUTF16("colombia")));
+}
+
+TEST(AddressRewriterTest, DE) {
+ AddressRewriter de = AddressRewriter::ForCountryCode(UTF8ToUTF16("de"));
+ EXPECT_EQ(de.Rewrite(UTF8ToUTF16("federal republic of germany")),
+ de.Rewrite(UTF8ToUTF16("deutschland")));
+ EXPECT_EQ(de.Rewrite(UTF8ToUTF16("germany")),
+ de.Rewrite(UTF8ToUTF16("bundesrepublik deutschland")));
+}
+
+TEST(AddressRewriterTest, DK) {
+ AddressRewriter dk = AddressRewriter::ForCountryCode(UTF8ToUTF16("dk"));
+ EXPECT_EQ(dk.Rewrite(UTF8ToUTF16("denmark")),
+ dk.Rewrite(UTF8ToUTF16("danmark")));
+}
+
+TEST(AddressRewriterTest, ES) {
+ AddressRewriter es = AddressRewriter::ForCountryCode(UTF8ToUTF16("es"));
+ EXPECT_EQ(es.Rewrite(UTF8ToUTF16("balearic islands")),
+ es.Rewrite(UTF8ToUTF16("islas baleares")));
+}
+
+TEST(AddressRewriterTest, FR) {
+ AddressRewriter fr = AddressRewriter::ForCountryCode(UTF8ToUTF16("fr"));
+ EXPECT_EQ(fr.Rewrite(UTF8ToUTF16("quatorzieme")),
+ fr.Rewrite(UTF8ToUTF16("14")));
+}
+
+TEST(AddressRewriterTest, GB) {
+ AddressRewriter gb = AddressRewriter::ForCountryCode(UTF8ToUTF16("gb"));
+ EXPECT_EQ(gb.Rewrite(UTF8ToUTF16("north east lincolnshire")),
+ gb.Rewrite(UTF8ToUTF16("gb-nel")));
+
+ EXPECT_NE(gb.Rewrite(UTF8ToUTF16("norfolk")),
+ gb.Rewrite(UTF8ToUTF16("suffolk")));
+}
+
+TEST(AddressRewriterTest, GR) {
+ AddressRewriter gr = AddressRewriter::ForCountryCode(UTF8ToUTF16("gr"));
+ EXPECT_EQ(gr.Rewrite(UTF8ToUTF16("aitolia kai akarnania")),
+ gr.Rewrite(UTF8ToUTF16("aitoloakarnania")));
+}
+
+TEST(AddressRewriterTest, HK) {
+ AddressRewriter hk = AddressRewriter::ForCountryCode(UTF8ToUTF16("hk"));
+ EXPECT_EQ(hk.Rewrite(UTF8ToUTF16("hong kong")),
+ hk.Rewrite(UTF8ToUTF16("hk")));
+}
+
+TEST(AddressRewriterTest, ID) {
+ AddressRewriter id = AddressRewriter::ForCountryCode(UTF8ToUTF16("id"));
+ EXPECT_EQ(id.Rewrite(UTF8ToUTF16("nanggroe aceh darussalam")),
+ id.Rewrite(UTF8ToUTF16("aceh")));
+}
+
+TEST(AddressRewriterTest, IE) {
+ AddressRewriter ie = AddressRewriter::ForCountryCode(UTF8ToUTF16("ie"));
+ EXPECT_EQ(ie.Rewrite(UTF8ToUTF16("avenue")), ie.Rewrite(UTF8ToUTF16("ave")));
+}
+
+TEST(AddressRewriterTest, IN) {
+ AddressRewriter in = AddressRewriter::ForCountryCode(UTF8ToUTF16("in"));
+ EXPECT_EQ(in.Rewrite(UTF8ToUTF16("thiruvananthapuram")),
+ in.Rewrite(UTF8ToUTF16("tiruvananthapuram")));
+}
+
+TEST(AddressRewriterTest, IT) {
+ AddressRewriter it = AddressRewriter::ForCountryCode(UTF8ToUTF16("it"));
+ EXPECT_EQ(it.Rewrite(UTF8ToUTF16("trentino alto adige")),
+ it.Rewrite(UTF8ToUTF16("trentino sudtirol")));
+}
+
+TEST(AddressRewriterTest, LU) {
+ AddressRewriter lu = AddressRewriter::ForCountryCode(UTF8ToUTF16("lu"));
+ EXPECT_EQ(lu.Rewrite(UTF8ToUTF16("esplanade")),
+ lu.Rewrite(UTF8ToUTF16("espl")));
+}
+
+TEST(AddressRewriterTest, MX) {
+ AddressRewriter mx = AddressRewriter::ForCountryCode(UTF8ToUTF16("mx"));
+ EXPECT_EQ(mx.Rewrite(UTF8ToUTF16("estado de mexico")),
+ mx.Rewrite(UTF8ToUTF16("mexico")));
+}
+
+TEST(AddressRewriterTest, MY) {
+ AddressRewriter my = AddressRewriter::ForCountryCode(UTF8ToUTF16("my"));
+ EXPECT_EQ(my.Rewrite(UTF8ToUTF16("malaysia")), my.Rewrite(UTF8ToUTF16("my")));
+}
+
+TEST(AddressRewriterTest, NL) {
+ AddressRewriter nl = AddressRewriter::ForCountryCode(UTF8ToUTF16("nl"));
+ EXPECT_EQ(nl.Rewrite(UTF8ToUTF16("nordholland")),
+ nl.Rewrite(UTF8ToUTF16("noord holland")));
+}
+
+TEST(AddressRewriterTest, NZ) {
+ AddressRewriter nz = AddressRewriter::ForCountryCode(UTF8ToUTF16("nz"));
+ EXPECT_EQ(nz.Rewrite(UTF8ToUTF16("oceanbeach")),
+ nz.Rewrite(UTF8ToUTF16("ocean beach")));
+}
+
+TEST(AddressRewriterTest, PE) {
+ AddressRewriter pe = AddressRewriter::ForCountryCode(UTF8ToUTF16("pe"));
+ EXPECT_EQ(pe.Rewrite(UTF8ToUTF16("avenida")), pe.Rewrite(UTF8ToUTF16("av")));
+}
+
+TEST(AddressRewriterTest, PH) {
+ AddressRewriter ph = AddressRewriter::ForCountryCode(UTF8ToUTF16("ph"));
+ EXPECT_EQ(ph.Rewrite(UTF8ToUTF16("philippines")),
+ ph.Rewrite(UTF8ToUTF16("ph")));
+}
+
+TEST(AddressRewriterTest, PL) {
+ AddressRewriter pl = AddressRewriter::ForCountryCode(UTF8ToUTF16("pl"));
+ EXPECT_EQ(pl.Rewrite(UTF8ToUTF16("warmian masurian")),
+ pl.Rewrite(UTF8ToUTF16("warminsko")));
+}
+
+TEST(AddressRewriterTest, PR) {
+ AddressRewriter pr = AddressRewriter::ForCountryCode(UTF8ToUTF16("pr"));
+ EXPECT_EQ(pr.Rewrite(UTF8ToUTF16("san juan antiguo")),
+ pr.Rewrite(UTF8ToUTF16("old san juan")));
+}
+
+TEST(AddressRewriterTest, PT) {
+ AddressRewriter pt = AddressRewriter::ForCountryCode(UTF8ToUTF16("pt"));
+ EXPECT_EQ(pt.Rewrite(UTF8ToUTF16("doctor")),
+ pt.Rewrite(UTF8ToUTF16("doutor")));
+}
+
+TEST(AddressRewriterTest, RO) {
+ AddressRewriter ro = AddressRewriter::ForCountryCode(UTF8ToUTF16("ro"));
+ EXPECT_EQ(ro.Rewrite(UTF8ToUTF16("romania")), ro.Rewrite(UTF8ToUTF16("ro")));
+}
+
+TEST(AddressRewriterTest, RU) {
+ AddressRewriter ru = AddressRewriter::ForCountryCode(UTF8ToUTF16("ru"));
+ // TODO(rogerm): UTF8 matching isnt' working as expected. Fix it!
+ EXPECT_NE(ru.Rewrite(UTF8ToUTF16("россия")),
+ ru.Rewrite(UTF8ToUTF16("russia")));
+}
+
+TEST(AddressRewriterTest, SE) {
+ AddressRewriter se = AddressRewriter::ForCountryCode(UTF8ToUTF16("se"));
+ EXPECT_EQ(se.Rewrite(UTF8ToUTF16("oestergoetland")),
+ se.Rewrite(UTF8ToUTF16("vastergoetland")));
+}
+
+TEST(AddressRewriterTest, TH) {
+ AddressRewriter th = AddressRewriter::ForCountryCode(UTF8ToUTF16("th"));
+ // TODO(rogerm): UTF8 matching isnt' working as expected. Fix it!
+ EXPECT_NE(th.Rewrite(UTF8ToUTF16("ประเทศไทย")),
+ th.Rewrite(UTF8ToUTF16("thailand")));
+}
+
+TEST(AddressRewriterTest, TR) {
+ AddressRewriter tr = AddressRewriter::ForCountryCode(UTF8ToUTF16("tr"));
+ EXPECT_EQ(tr.Rewrite(UTF8ToUTF16("turkiye")),
+ tr.Rewrite(UTF8ToUTF16("turkey")));
+}
+
+TEST(AddressRewriterTest, US) {
+ AddressRewriter us = AddressRewriter::ForCountryCode(UTF8ToUTF16("us"));
+ EXPECT_EQ(us.Rewrite(UTF8ToUTF16("ca")),
+ us.Rewrite(UTF8ToUTF16("california")));
+ EXPECT_EQ(us.Rewrite(UTF8ToUTF16("west virginia")),
+ us.Rewrite(UTF8ToUTF16("wv")));
+ EXPECT_EQ(us.Rewrite(UTF8ToUTF16("virginia")), us.Rewrite(UTF8ToUTF16("va")));
+ EXPECT_EQ(us.Rewrite(UTF8ToUTF16("washington d c")),
+ us.Rewrite(UTF8ToUTF16("washington dc")));
+
+ // Similar names, but not the same.
+ EXPECT_NE(us.Rewrite(UTF8ToUTF16("west virginia")),
+ us.Rewrite(UTF8ToUTF16("virginia")));
+ EXPECT_NE(us.Rewrite(UTF8ToUTF16("washington")),
+ us.Rewrite(UTF8ToUTF16("washington dc")));
+}
+
+TEST(AddressRewriterTest, VN) {
+ AddressRewriter vn = AddressRewriter::ForCountryCode(UTF8ToUTF16("vn"));
+ EXPECT_EQ(vn.Rewrite(UTF8ToUTF16("viet nam")),
+ vn.Rewrite(UTF8ToUTF16("vietnam")));
+}
+
+TEST(AddressRewriterTest, ZA) {
+ AddressRewriter za = AddressRewriter::ForCountryCode(UTF8ToUTF16("za"));
+ EXPECT_EQ(za.Rewrite(UTF8ToUTF16("republic of south africa")),
+ za.Rewrite(UTF8ToUTF16("south africa")));
+}

Powered by Google App Engine
This is Rietveld 408576698