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