Changes imported from Abseil "staging" branch:
- 06abebb2bdb201c572da209fc7f781d6bd774d6b Documentation fixes for `absl::optional`. by Abseil Team <absl-team@google.com> - 42adc4c4daade2e070dc337e94d8851a1fd4bead Rolling back the previous change because `__has_warning`... by Xiaoyi Zhang <zhangxy@google.com> - 02a42cbaa97d82ee7942bc498538359185d75087 Remove literal UTF8 strings in abseil code to avoid file ... by Jon Cohen <cohenjon@google.com> GitOrigin-RevId: 06abebb2bdb201c572da209fc7f781d6bd774d6b Change-Id: I4f4659c2e7ca6fc585b6c089bcf20ca61aced75d
This commit is contained in:
parent
8a401394b8
commit
0ec11bad6f
7 changed files with 27 additions and 39 deletions
|
|
@ -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"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue