diff options
author | Abseil Team <absl-team@google.com> | 2023-12-20 14:06:23 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-12-20 14:07:38 -0800 |
commit | 72d7a159bf04ca26649928f4531d9af5e02e8f28 (patch) | |
tree | 457f1eec516deec77398b8972208d17775045289 /absl/strings/str_split_test.cc | |
parent | 7a1898a04fb3ab83b869e7967ddd7721696490a3 (diff) | |
download | abseil-72d7a159bf04ca26649928f4531d9af5e02e8f28.tar.gz abseil-72d7a159bf04ca26649928f4531d9af5e02e8f28.tar.bz2 abseil-72d7a159bf04ca26649928f4531d9af5e02e8f28.zip |
Added ByAsciiWhitespace to str_split library.
PiperOrigin-RevId: 592653487
Change-Id: Iddd2f484807cb02dd2ee8bba26c22d196be02c88
Diffstat (limited to 'absl/strings/str_split_test.cc')
-rw-r--r-- | absl/strings/str_split_test.cc | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/absl/strings/str_split_test.cc b/absl/strings/str_split_test.cc index eb0c6c00..df6c460f 100644 --- a/absl/strings/str_split_test.cc +++ b/absl/strings/str_split_test.cc @@ -40,6 +40,7 @@ namespace { using ::testing::ElementsAre; +using ::testing::IsEmpty; using ::testing::Pair; using ::testing::UnorderedElementsAre; @@ -924,6 +925,45 @@ TEST(Delimiter, ByAnyChar) { } // +// Tests for ByAsciiWhitespace +// +TEST(Split, ByAsciiWhitespace) { + using absl::ByAsciiWhitespace; + using absl::SkipEmpty; + std::vector<absl::string_view> results; + + results = absl::StrSplit("aaaa\n", ByAsciiWhitespace()); + EXPECT_THAT(results, ElementsAre("aaaa", "")); + + results = absl::StrSplit("aaaa\n", ByAsciiWhitespace(), SkipEmpty()); + EXPECT_THAT(results, ElementsAre("aaaa")); + + results = absl::StrSplit(" ", ByAsciiWhitespace()); + EXPECT_THAT(results, ElementsAre("", "")); + + results = absl::StrSplit(" ", ByAsciiWhitespace(), SkipEmpty()); + EXPECT_THAT(results, IsEmpty()); + + results = absl::StrSplit("a", ByAsciiWhitespace()); + EXPECT_THAT(results, ElementsAre("a")); + + results = absl::StrSplit("", ByAsciiWhitespace()); + EXPECT_THAT(results, ElementsAre("")); + + results = absl::StrSplit("", ByAsciiWhitespace(), SkipEmpty()); + EXPECT_THAT(results, IsEmpty()); + + results = absl::StrSplit("a b\tc\n d\n", ByAsciiWhitespace()); + EXPECT_THAT(results, ElementsAre("a", "b", "c", "", "", "d", "")); + + results = absl::StrSplit("a b\tc\n d \n", ByAsciiWhitespace(), SkipEmpty()); + EXPECT_THAT(results, ElementsAre("a", "b", "c", "d")); + + results = absl::StrSplit("a\t\n\v\f\r b", ByAsciiWhitespace(), SkipEmpty()); + EXPECT_THAT(results, ElementsAre("a", "b")); +} + +// // Tests for ByLength // |