summaryrefslogtreecommitdiff
path: root/absl/strings
diff options
context:
space:
mode:
Diffstat (limited to 'absl/strings')
-rw-r--r--absl/strings/str_split_test.cc15
-rw-r--r--absl/strings/string_view_test.cc7
2 files changed, 15 insertions, 7 deletions
diff --git a/absl/strings/str_split_test.cc b/absl/strings/str_split_test.cc
index 500f3cbc..b1db1c56 100644
--- a/absl/strings/str_split_test.cc
+++ b/absl/strings/str_split_test.cc
@@ -621,23 +621,28 @@ TEST(Split, StringDelimiter) {
TEST(Split, UTF8) {
// Tests splitting utf8 strings and utf8 delimiters.
+ std::string utf8_string = "\u03BA\u1F79\u03C3\u03BC\u03B5";
{
// A utf8 input std::string with an ascii delimiter.
- std::vector<absl::string_view> v = absl::StrSplit("a,κόσμε", ',');
- EXPECT_THAT(v, ElementsAre("a", "κόσμε"));
+ std::string to_split = "a," + utf8_string;
+ std::vector<absl::string_view> v = absl::StrSplit(to_split, ',');
+ EXPECT_THAT(v, ElementsAre("a", utf8_string));
}
{
// A utf8 input std::string and a utf8 delimiter.
- std::vector<absl::string_view> v = absl::StrSplit("a,κόσμε,b", ",κόσμε,");
+ std::string to_split = "a," + utf8_string + ",b";
+ std::string unicode_delimiter = "," + utf8_string + ",";
+ std::vector<absl::string_view> v =
+ absl::StrSplit(to_split, unicode_delimiter);
EXPECT_THAT(v, ElementsAre("a", "b"));
}
{
// A utf8 input std::string and ByAnyChar with ascii chars.
std::vector<absl::string_view> v =
- absl::StrSplit("Foo hällo th丞re", absl::ByAnyChar(" \t"));
- EXPECT_THAT(v, ElementsAre("Foo", "hällo", "th丞re"));
+ absl::StrSplit("Foo h\u00E4llo th\u4E1Ere", absl::ByAnyChar(" \t"));
+ EXPECT_THAT(v, ElementsAre("Foo", "h\u00E4llo", "th\u4E1Ere"));
}
}
diff --git a/absl/strings/string_view_test.cc b/absl/strings/string_view_test.cc
index df307ac7..3077d240 100644
--- a/absl/strings/string_view_test.cc
+++ b/absl/strings/string_view_test.cc
@@ -684,8 +684,11 @@ TEST(StringViewTest, TruncSubstr) {
}
TEST(StringViewTest, UTF8) {
- EXPECT_EQ(strlen("á"), absl::string_view("á á").find_first_of(" "));
- EXPECT_EQ(strlen("á"), absl::string_view("á á").find_first_of(" \t"));
+ std::string utf8 = "\u00E1";
+ std::string utf8_twice = utf8 + " " + utf8;
+ int utf8_len = strlen(utf8.data());
+ EXPECT_EQ(utf8_len, absl::string_view(utf8_twice).find_first_of(" "));
+ EXPECT_EQ(utf8_len, absl::string_view(utf8_twice).find_first_of(" \t"));
}
TEST(StringViewTest, FindConformance) {