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

Unified Diff: third_party/libaddressinput/chromium/cpp/test/address_data_test.cc

Issue 368243007: Reland of "Use address_data.h from upstream libaddressinput". (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update BUILD.gn, fix a test. 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 side-by-side diff with in-line comments
Download patch
Index: third_party/libaddressinput/chromium/cpp/test/address_data_test.cc
diff --git a/third_party/libaddressinput/chromium/cpp/test/address_data_test.cc b/third_party/libaddressinput/chromium/cpp/test/address_data_test.cc
index 76ed6e311f603065f55ad4faec706c7167860a70..8ba0f4bbb04988bc6d29d37c97a916f5e4d275d5 100644
--- a/third_party/libaddressinput/chromium/cpp/test/address_data_test.cc
+++ b/third_party/libaddressinput/chromium/cpp/test/address_data_test.cc
@@ -14,206 +14,192 @@
#include <libaddressinput/address_data.h>
-#include <string>
-#include <vector>
+#include <libaddressinput/address_field.h>
+
+#include <sstream>
#include <gtest/gtest.h>
namespace {
using i18n::addressinput::AddressData;
-
-TEST(AddressDataTest, FormatForDisplayEmpty) {
+using i18n::addressinput::AddressField;
+
+using i18n::addressinput::COUNTRY;
+using i18n::addressinput::ADMIN_AREA;
+using i18n::addressinput::LOCALITY;
+using i18n::addressinput::DEPENDENT_LOCALITY;
+using i18n::addressinput::SORTING_CODE;
+using i18n::addressinput::POSTAL_CODE;
+using i18n::addressinput::STREET_ADDRESS;
+using i18n::addressinput::RECIPIENT;
+
+TEST(AddressDataTest, GetFieldValue) {
AddressData address;
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
- EXPECT_EQ(std::vector<std::string>(), actual);
+ address.region_code = "rrr";
+ address.administrative_area = "sss";
+ address.locality = "ccc";
+ address.dependent_locality = "ddd";
+ address.sorting_code = "xxx";
+ address.postal_code = "zzz";
+ address.recipient = "nnn";
+
+ EXPECT_EQ(address.region_code,
+ address.GetFieldValue(COUNTRY));
+ EXPECT_EQ(address.administrative_area,
+ address.GetFieldValue(ADMIN_AREA));
+ EXPECT_EQ(address.locality,
+ address.GetFieldValue(LOCALITY));
+ EXPECT_EQ(address.dependent_locality,
+ address.GetFieldValue(DEPENDENT_LOCALITY));
+ EXPECT_EQ(address.sorting_code,
+ address.GetFieldValue(SORTING_CODE));
+ EXPECT_EQ(address.postal_code,
+ address.GetFieldValue(POSTAL_CODE));
+ EXPECT_EQ(address.recipient,
+ address.GetFieldValue(RECIPIENT));
}
-TEST(AddressDataTest, FormatForDisplayUs) {
+TEST(AddressDataTest, GetRepeatedFieldValue) {
AddressData address;
- address.country_code = "US";
- address.administrative_area = "Texas";
- address.locality = "Houston";
- address.postal_code = "77005";
- address.address_lines.push_back("123 Main St");
- address.address_lines.push_back("Apt 2");
- address.recipient = "John Doe";
-
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
-
- std::vector<std::string> expected;
- expected.push_back(address.recipient);
- expected.insert(expected.end(),
- address.address_lines.begin(),
- address.address_lines.end());
- expected.push_back(address.locality + ", " + address.administrative_area +
- " " + address.postal_code);
-
- EXPECT_EQ(expected, actual);
+ address.address_line.push_back("aaa");
+ address.address_line.push_back("222");
+ EXPECT_EQ(address.address_line,
+ address.GetRepeatedFieldValue(STREET_ADDRESS));
}
-TEST(AddressDataTest, FormatForDisplayAr) {
+TEST(AddressDataTest, IsFieldEmpty) {
AddressData address;
- address.country_code = "AR";
- address.administrative_area = "Capital Federal";
- address.locality = "Buenos Aires";
- address.postal_code = "C1001AFB";
- address.address_lines.push_back("Su Calle 123");
- address.address_lines.push_back("5° Piso");
- address.recipient = "Juan Perez";
-
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
-
- std::vector<std::string> expected;
- expected.push_back(address.recipient);
- expected.insert(expected.end(),
- address.address_lines.begin(),
- address.address_lines.end());
- expected.push_back(address.postal_code + " " + address.locality);
- expected.push_back(address.administrative_area);
-
- EXPECT_EQ(expected, actual);
+
+ EXPECT_TRUE(address.IsFieldEmpty(COUNTRY));
+ EXPECT_TRUE(address.IsFieldEmpty(ADMIN_AREA));
+ EXPECT_TRUE(address.IsFieldEmpty(LOCALITY));
+ EXPECT_TRUE(address.IsFieldEmpty(DEPENDENT_LOCALITY));
+ EXPECT_TRUE(address.IsFieldEmpty(SORTING_CODE));
+ EXPECT_TRUE(address.IsFieldEmpty(POSTAL_CODE));
+ EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
+ EXPECT_TRUE(address.IsFieldEmpty(RECIPIENT));
+
+ address.region_code = "rrr";
+ address.administrative_area = "sss";
+ address.locality = "ccc";
+ address.dependent_locality = "ddd";
+ address.sorting_code = "xxx";
+ address.postal_code = "zzz";
+ address.address_line.push_back("aaa");
+ address.recipient = "nnn";
+
+ EXPECT_FALSE(address.IsFieldEmpty(COUNTRY));
+ EXPECT_FALSE(address.IsFieldEmpty(ADMIN_AREA));
+ EXPECT_FALSE(address.IsFieldEmpty(LOCALITY));
+ EXPECT_FALSE(address.IsFieldEmpty(DEPENDENT_LOCALITY));
+ EXPECT_FALSE(address.IsFieldEmpty(SORTING_CODE));
+ EXPECT_FALSE(address.IsFieldEmpty(POSTAL_CODE));
+ EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
+ EXPECT_FALSE(address.IsFieldEmpty(RECIPIENT));
}
-TEST(AddressDataTest, FormatForDisplayJp) {
+TEST(AddressDataTest, IsFieldEmptyWhitespace) {
AddressData address;
- address.country_code = "JP";
- address.language_code = "ja";
- address.administrative_area = "東京都";
- address.locality = "渋谷区";
- address.postal_code = "150-8512";
- address.address_lines.push_back("桜丘町26-1");
- address.address_lines.push_back("セルリアンタワー6階");
- address.recipient = "村上 美紀";
-
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
-
- std::vector<std::string> expected;
- expected.push_back("〒" + address.postal_code);
- expected.push_back(address.administrative_area + address.locality);
- expected.insert(expected.end(),
- address.address_lines.begin(),
- address.address_lines.end());
- expected.push_back(address.recipient);
-
- EXPECT_EQ(expected, actual);
+ address.recipient = " ";
+ EXPECT_TRUE(address.IsFieldEmpty(RECIPIENT));
+ address.recipient = "abc";
+ EXPECT_FALSE(address.IsFieldEmpty(RECIPIENT));
+ address.recipient = " b ";
+ EXPECT_FALSE(address.IsFieldEmpty(RECIPIENT));
}
-TEST(AddressDataTest, FormatForDisplayJpLatn) {
+TEST(AddressDataTest, IsFieldEmptyVector) {
AddressData address;
- address.country_code = "JP";
- address.language_code = "ja-latn";
- address.administrative_area = "Tokyo";
- address.locality = "Shibuya-ku";
- address.postal_code = "150-8512";
- address.address_lines.push_back("26-1 Sakuragaoka-cho");
- address.address_lines.push_back("Cerulean Tower 6F");
- address.recipient = "Miki Murakami";
-
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
-
- std::vector<std::string> expected;
- expected.push_back(address.recipient);
- expected.insert(expected.end(),
- address.address_lines.begin(),
- address.address_lines.end());
- expected.push_back(address.locality + ", "+ address.administrative_area);
- expected.push_back(address.postal_code);
-
- EXPECT_EQ(expected, actual);
+ EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
+ address.address_line.push_back("");
+ EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
+ address.address_line.push_back("aaa");
+ EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
+ address.address_line.push_back("");
+ EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
}
-TEST(AddressDataTest, FormatForDisplayJpLatnCapitalized) {
+TEST(AddressDataTest, IsFieldEmptyVectorWhitespace) {
AddressData address;
- address.country_code = "JP";
- address.language_code = "ja-Latn";
- address.administrative_area = "Tokyo";
- address.locality = "Shibuya-ku";
- address.postal_code = "150-8512";
- address.address_lines.push_back("26-1 Sakuragaoka-cho");
- address.address_lines.push_back("Cerulean Tower 6F");
- address.recipient = "Miki Murakami";
-
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
-
- std::vector<std::string> expected;
- expected.push_back(address.recipient);
- expected.insert(expected.end(),
- address.address_lines.begin(),
- address.address_lines.end());
- expected.push_back(address.locality + ", "+ address.administrative_area);
- expected.push_back(address.postal_code);
-
- EXPECT_EQ(expected, actual);
+ address.address_line.push_back(" ");
+ address.address_line.push_back(" ");
+ address.address_line.push_back(" ");
+ EXPECT_TRUE(address.IsFieldEmpty(STREET_ADDRESS));
+ address.address_line.clear();
+ address.address_line.push_back("abc");
+ EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
+ address.address_line.clear();
+ address.address_line.push_back(" ");
+ address.address_line.push_back(" b ");
+ address.address_line.push_back(" ");
+ EXPECT_FALSE(address.IsFieldEmpty(STREET_ADDRESS));
}
-TEST(AddressDataTest, FormatForDisplayJpLatnUs) {
+TEST(AddressDataTest, StreamFunction) {
+ std::ostringstream oss;
AddressData address;
- address.country_code = "JP";
- address.language_code = "ja-latn-US";
- address.administrative_area = "Tokyo";
- address.locality = "Shibuya-ku";
- address.postal_code = "150-8512";
- address.address_lines.push_back("26-1 Sakuragaoka-cho");
- address.address_lines.push_back("Cerulean Tower 6F");
- address.recipient = "Miki Murakami";
-
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
-
- std::vector<std::string> expected;
- expected.push_back(address.recipient);
- expected.insert(expected.end(),
- address.address_lines.begin(),
- address.address_lines.end());
- expected.push_back(address.locality + ", "+ address.administrative_area);
- expected.push_back(address.postal_code);
-
- EXPECT_EQ(expected, actual);
+ address.address_line.push_back("Line 1");
+ address.address_line.push_back("Line 2");
+ address.recipient = "N";
+ address.region_code = "R";
+ address.postal_code = "Z";
+ address.administrative_area = "S";
+ address.locality = "C";
+ address.dependent_locality = "D";
+ address.sorting_code = "X";
+ address.language_code = "zh-Hant";
+ oss << address;
+ EXPECT_EQ("region_code: \"R\"\n"
+ "administrative_area: \"S\"\n"
+ "locality: \"C\"\n"
+ "dependent_locality: \"D\"\n"
+ "postal_code: \"Z\"\n"
+ "sorting_code: \"X\"\n"
+ "address_line: \"Line 1\"\n"
+ "address_line: \"Line 2\"\n"
+ "language_code: \"zh-Hant\"\n"
+ "recipient: \"N\"\n", oss.str());
}
-TEST(AddressDataTest, FormatForDisplayWithStreetCi) {
+TEST(AddressDataTest, TestEquals) {
AddressData address;
- address.country_code = "CI";
- address.address_lines.push_back("Street Line 1");
- address.locality = "City Name";
- address.sorting_code = "123CEDEX";
-
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
-
- std::vector<std::string> expected(
- 1,
- address.sorting_code + " " +
- address.address_lines[0] + " " +
- address.locality + " " +
- address.sorting_code);
-
- EXPECT_EQ(expected, actual);
+ address.address_line.push_back("Line 1");
+ address.address_line.push_back("Line 2");
+ address.recipient = "N";
+ address.region_code = "R";
+ address.postal_code = "Z";
+ address.administrative_area = "S";
+ address.locality = "C";
+ address.dependent_locality = "D";
+ address.sorting_code = "X";
+ address.language_code = "zh-Hant";
+
+ AddressData clone = address;
+
+ EXPECT_EQ(address, clone);
+ clone.language_code.clear();
+ EXPECT_FALSE(address == clone);
}
-TEST(AddressDataTest, FormatForDisplayWithoutStreetCi) {
- AddressData address;
- address.country_code = "CI";
- address.locality = "City Name";
- address.sorting_code = "123CEDEX";
+#ifndef NDEBUG
- std::vector<std::string> actual;
- address.FormatForDisplay(&actual);
+TEST(AddressDataTest, GetFieldValueInvalid) {
+ AddressData address;
+ ASSERT_DEATH(address.GetFieldValue(STREET_ADDRESS), "ssertion.*failed");
+}
- std::vector<std::string> expected(
- 1,
- address.sorting_code + " " +
- address.locality + " " +
- address.sorting_code);
+TEST(AddressDataTest, GetVectorFieldValueInvalid) {
+ AddressData address;
+ ASSERT_DEATH(address.GetRepeatedFieldValue(COUNTRY), "ssertion.*failed");
+}
- EXPECT_EQ(expected, actual);
+TEST(AddressDataTest, IsFieldEmptyInvalid) {
+ static const AddressField invalid_field = static_cast<AddressField>(-1);
+ AddressData address;
+ ASSERT_DEATH(address.IsFieldEmpty(invalid_field), "ssertion.*failed");
}
+#endif // NDEBUG
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698