Index: third_party/libphonenumber/cpp/src/utf/unicodetext_test.cc |
diff --git a/third_party/libphonenumber/cpp/src/utf/unicodetext_test.cc b/third_party/libphonenumber/cpp/src/utf/unicodetext_test.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..81100c5ce71a5004e77459ebd91a44ba7d59117d |
--- /dev/null |
+++ b/third_party/libphonenumber/cpp/src/utf/unicodetext_test.cc |
@@ -0,0 +1,45 @@ |
+// Copyright 2011 Facebook, Inc. |
+// |
+// Licensed under the Apache License, Version 2.0 (the "License"); you may |
+// not use this file except in compliance with the License. You may obtain |
+// a copy of the License at |
+// |
+// http://www.apache.org/licenses/LICENSE-2.0 |
+// |
+// Unless required by applicable law or agreed to in writing, software |
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
+// License for the specific language governing permissions and limitations |
+// under the License. |
+// |
+// Author: Ben Gertzfield |
+ |
+#include <gtest/gtest.h> |
+ |
+#include "unicodetext.h" |
+ |
+namespace i18n { |
+namespace unicodetext { |
+ |
+TEST(UnicodeTextTest, Iterator) { |
+ struct value { |
+ const char* utf8; |
+ char32 code_point; |
+ } values[] = { |
+ { "\x31", 0x31 }, // U+0031 DIGIT ONE |
+ { "\xC2\xBD", 0x00BD }, // U+00BD VULGAR FRACTION ONE HALF |
+ { "\xEF\xBC\x91", 0xFF11 }, // U+FF11 FULLWIDTH DIGIT ONE |
+ { "\xF0\x9F\x80\x80", 0x1F000 }, // U+1F000 MAHJONG TILE EAST WIND |
+ }; |
+ |
+ for (size_t i = 0; i < sizeof values / sizeof values[0]; i++) { |
+ string number(values[i].utf8); |
+ UnicodeText number_as_unicode; |
+ number_as_unicode.PointToUTF8(number.data(), number.size()); |
+ UnicodeText::const_iterator it = number_as_unicode.begin(); |
+ EXPECT_EQ(values[i].code_point, *it); |
+ } |
+} |
+ |
+} // namespace unicodetext |
+} // namespace i18n |