Hex escape all UTF-8 string literals.
This is necessary for compatibility with broken compilers.
R=rouslan@chromium.org
BUG=
Review URL: https://codereview.appspot.com/114280043
git-svn-id: http://libaddressinput.googlecode.com/svn/trunk@315 38ededc0-08b8-5190-f2ac-b31f878777ad
diff --git a/cpp/test/address_field_util_test.cc b/cpp/test/address_field_util_test.cc
index 6e3bd6a..0db6bf5 100644
--- a/cpp/test/address_field_util_test.cc
+++ b/cpp/test/address_field_util_test.cc
@@ -36,7 +36,7 @@
TEST(AddressFieldUtilTest, FormatParseNewline) {
std::vector<FormatElement> actual;
- ParseFormatRule("%O%n%N%n%A%nAX-%Z %C%nÅLAND", &actual);
+ ParseFormatRule("%O%n%N%n%A%nAX-%Z %C%n\xC3\x85LAND", &actual); /* "ÅLAND" */
std::vector<FormatElement> expected;
// Organization is skipped.
@@ -50,7 +50,7 @@
expected.push_back(FormatElement(" "));
expected.push_back(FormatElement(LOCALITY));
expected.push_back(FormatElement());
- expected.push_back(FormatElement("ÅLAND"));
+ expected.push_back(FormatElement("\xC3\x85LAND")); /* "ÅLAND" */
EXPECT_EQ(expected, actual);
}
diff --git a/cpp/test/address_normalizer_test.cc b/cpp/test/address_normalizer_test.cc
index c4ffeba..fc4404b 100644
--- a/cpp/test/address_normalizer_test.cc
+++ b/cpp/test/address_normalizer_test.cc
@@ -88,9 +88,11 @@
AddressData address;
address.language_code = "ko-KR";
address.region_code = "KR";
- address.administrative_area = "강원";
+ address.administrative_area = "\xEA\xB0\x95\xEC\x9B\x90"; /* "강원" */
normalizer_.Normalize(&address);
- EXPECT_EQ("강원도", address.administrative_area);
+ EXPECT_EQ(
+ "\xEA\xB0\x95\xEC\x9B\x90\xEB\x8F\x84", /* "강원도" */
+ address.administrative_area);
}
TEST_F(AddressNormalizerTest, DontSwitchLatinScriptForUnknownLanguage) {
@@ -106,9 +108,11 @@
supplier_.LoadRules("KR", *loaded_);
AddressData address;
address.region_code = "KR";
- address.administrative_area = "강원";
+ address.administrative_area = "\xEA\xB0\x95\xEC\x9B\x90"; /* "강원" */
normalizer_.Normalize(&address);
- EXPECT_EQ("강원도", address.administrative_area);
+ EXPECT_EQ(
+ "\xEA\xB0\x95\xEC\x9B\x90\xEB\x8F\x84", /* "강원도" */
+ address.administrative_area);
}
} // namespace
diff --git a/cpp/test/region_data_builder_test.cc b/cpp/test/region_data_builder_test.cc
index a042689..b8e0ddd 100644
--- a/cpp/test/region_data_builder_test.cc
+++ b/cpp/test/region_data_builder_test.cc
@@ -108,7 +108,9 @@
const RegionData& tree = builder_.Build("KR", "ko-Latn", &best_language_);
EXPECT_EQ("ko-Latn", best_language_);
ASSERT_FALSE(tree.sub_regions().empty());
- EXPECT_EQ("강원도", tree.sub_regions().front()->key());
+ EXPECT_EQ(
+ "\xEA\xB0\x95\xEC\x9B\x90\xEB\x8F\x84", /* "강원도" */
+ tree.sub_regions().front()->key());
EXPECT_EQ("Gangwon", tree.sub_regions().front()->name());
}
@@ -117,8 +119,12 @@
const RegionData& tree = builder_.Build("KR", "ko-KR", &best_language_);
EXPECT_EQ("ko", best_language_);
ASSERT_FALSE(tree.sub_regions().empty());
- EXPECT_EQ("강원도", tree.sub_regions().front()->key());
- EXPECT_EQ("강원", tree.sub_regions().front()->name());
+ EXPECT_EQ(
+ "\xEA\xB0\x95\xEC\x9B\x90\xEB\x8F\x84", /* "강원도" */
+ tree.sub_regions().front()->key());
+ EXPECT_EQ(
+ "\xEA\xB0\x95\xEC\x9B\x90", /* "강원" */
+ tree.sub_regions().front()->name());
}
} // namespace
diff --git a/cpp/test/util/json_test.cc b/cpp/test/util/json_test.cc
index 46d26c5..ff23ea6 100644
--- a/cpp/test/util/json_test.cc
+++ b/cpp/test/util/json_test.cc
@@ -74,10 +74,10 @@
TEST(JsonTest, Utf8EncodingIsValid) {
Json json;
- ASSERT_TRUE(json.ParseObject("{\"key\": \"Ü\"}"));
+ ASSERT_TRUE(json.ParseObject("{\"key\": \"\xC3\x9C\"}")); /* "Ü" */
std::string value;
EXPECT_TRUE(json.GetStringValueForKey("key", &value));
- EXPECT_EQ("Ü", value);
+ EXPECT_EQ("\xC3\x9C", value); /* "Ü" */
}
TEST(JsonTest, InvalidUtf8IsNotValid) {
diff --git a/cpp/test/util/string_compare_test.cc b/cpp/test/util/string_compare_test.cc
index 8f8d4d5..cad36c1 100644
--- a/cpp/test/util/string_compare_test.cc
+++ b/cpp/test/util/string_compare_test.cc
@@ -63,15 +63,39 @@
INSTANTIATE_TEST_CASE_P(
Comparisons, StringCompareTest,
- testing::Values(TestCase("foo", "foo", true, false),
- TestCase("foo", "FOO", true, false),
- TestCase("bar", "foo", false, true),
- TestCase("강원도", "강원도", true, false),
- TestCase("강원도", "대구광역시", false, true),
- TestCase("ZÜRICH", "zürich", true, false),
- TestCase("абв", "где", false, true),
- TestCase("абв", "ГДЕ", false, true),
- TestCase("где", "абв", false, false),
- TestCase("где", "АБВ", false, false)));
+ testing::Values(
+ TestCase("foo", "foo", true, false),
+ TestCase("foo", "FOO", true, false),
+ TestCase("bar", "foo", false, true),
+ TestCase(
+ "\xEA\xB0\x95\xEC\x9B\x90\xEB\x8F\x84", /* "강원도" */
+ "\xEA\xB0\x95\xEC\x9B\x90\xEB\x8F\x84", /* "강원도" */
+ true, false),
+ TestCase(
+ /* "강원도" */
+ "\xEA\xB0\x95\xEC\x9B\x90\xEB\x8F\x84",
+ /* "대구광역시" */
+ "\xEB\x8C\x80\xEA\xB5\xAC\xEA\xB4\x91\xEC\x97\xAD\xEC\x8B\x9C",
+ false, true),
+ TestCase(
+ "Z\xC3\x9CRICH", /* "ZÜRICH" */
+ "z\xC3\xBCrich", /* "zürich" */
+ true, false),
+ TestCase(
+ "\xD0\xB0\xD0\xB1\xD0\xB2", /* "абв" */
+ "\xD0\xB3\xD0\xB4\xD0\xB5", /* "где" */
+ false, true),
+ TestCase(
+ "\xD0\xB0\xD0\xB1\xD0\xB2", /* "абв" */
+ "\xD0\x93\xD0\x94\xD0\x95", /* "ГДЕ" */
+ false, true),
+ TestCase(
+ "\xD0\xB3\xD0\xB4\xD0\xB5", /* "где" */
+ "\xD0\xB0\xD0\xB1\xD0\xB2", /* "абв" */
+ false, false),
+ TestCase(
+ "\xD0\xB3\xD0\xB4\xD0\xB5", /* "где" */
+ "\xD0\x90\xD0\x91\xD0\x92", /* "АБВ" */
+ false, false)));
} // namespace