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

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

Issue 131223004: [rac] Format an address for display. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge. Created 6 years, 11 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_ui_test.cc
diff --git a/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc b/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc
index d07f35f784880549b7f462bef9642b49a6d3da53..67236d2c1c6129f2cc2cda3fbc524c234269a925 100644
--- a/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc
+++ b/third_party/libaddressinput/chromium/cpp/test/address_ui_test.cc
@@ -17,6 +17,7 @@
#include <libaddressinput/address_field.h>
#include <libaddressinput/address_ui_component.h>
+#include <set>
#include <string>
#include <vector>
@@ -29,25 +30,32 @@ namespace addressinput {
namespace {
-// Returns testing::AssertionSuccess if the |components| are valid. Uses
-// |region_code| in test failure messages.
+// Returns testing::AssertionSuccess if the |components| are valid.
testing::AssertionResult ComponentsAreValid(
const std::vector<AddressUiComponent>& components) {
if (components.empty()) {
return testing::AssertionFailure() << "no components";
}
+ std::set<AddressField> fields;
for (std::vector<AddressUiComponent>::const_iterator
- component_it = components.begin();
- component_it != components.end(); ++component_it) {
+ component_it = components.begin();
+ component_it != components.end();
+ ++component_it) {
static const AddressField kMinAddressField = COUNTRY;
static const AddressField kMaxAddressField = RECIPIENT;
if (component_it->field < kMinAddressField ||
component_it->field > kMaxAddressField) {
- return testing::AssertionFailure() << "unexpected field "
+ return testing::AssertionFailure() << "unexpected input field "
<< component_it->field;
}
+ if (fields.find(component_it->field) != fields.end()) {
+ return testing::AssertionFailure() << "duplicate input field "
+ << component_it->field;
+ }
+ fields.insert(component_it->field);
+
if (component_it->name_id == INVALID_MESSAGE_ID) {
return testing::AssertionFailure() << "invalid field name_id for field "
<< component_it->field;
@@ -82,6 +90,45 @@ TEST_F(AddressUiTest, InvalidRegionCodeReturnsEmptyVector) {
EXPECT_TRUE(BuildComponents("INVALID-REGION-CODE").empty());
}
+struct SeparatorData {
+ SeparatorData(const std::string& language_code,
+ const std::string& country_code,
+ const std::string& compact_line_separator)
+ : language_code(language_code),
+ country_code(country_code),
+ compact_line_separator(compact_line_separator) {}
+
+ ~SeparatorData() {}
+
+ std::string language_code;
+ std::string country_code;
+ std::string compact_line_separator;
+};
+
+// Tests for compact line separator.
+class CompactLineSeparatorTest
+ : public testing::TestWithParam<SeparatorData> {};
+
+TEST_P(CompactLineSeparatorTest, BasicTest) {
+ EXPECT_EQ(GetParam().compact_line_separator,
+ GetCompactAddressLinesSeparator(GetParam().language_code,
+ GetParam().country_code));
+}
+
+INSTANTIATE_TEST_CASE_P(
+ CompactLineSeparators, CompactLineSeparatorTest,
+ testing::Values(
+ SeparatorData("", "AD", ", "),
+ SeparatorData("", "XX", ", "),
+ SeparatorData("ja", "JP", ""),
+ SeparatorData("zh", "HK", ""),
+ SeparatorData("zh-hans", "CN", ""),
+ SeparatorData("ar", "YE", "، "),
+ SeparatorData("ko", "KR", " "),
+ SeparatorData("th", "TH", " "),
+ SeparatorData("en", "US", ", ")));
+
+
} // namespace
} // namespace addressinput

Powered by Google App Engine
This is Rietveld 408576698