Delete variant of rtc::split that copies the output fields

Bug: webrtc:13579
Change-Id: I065a32704d48d5eed21aee0e9757cac9ecf7aa99
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261951
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Ali Tofigh <alito@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37160}
This commit is contained in:
Niels Möller
2022-06-07 13:58:27 +02:00
committed by WebRTC LUCI CQ
parent 774b4725a2
commit f1d822b03b
18 changed files with 137 additions and 157 deletions

View File

@ -215,53 +215,45 @@ TEST(TokenizeFirstTest, SingleToken) {
// Tests counting substrings.
TEST(SplitTest, CountSubstrings) {
std::vector<std::string> fields;
EXPECT_EQ(5ul, split("one,two,three,four,five", ',', &fields));
fields.clear();
EXPECT_EQ(1ul, split("one", ',', &fields));
EXPECT_EQ(5ul, split("one,two,three,four,five", ',').size());
EXPECT_EQ(1ul, split("one", ',').size());
// Empty fields between commas count.
fields.clear();
EXPECT_EQ(5ul, split("one,,three,four,five", ',', &fields));
fields.clear();
EXPECT_EQ(3ul, split(",three,", ',', &fields));
fields.clear();
EXPECT_EQ(1ul, split("", ',', &fields));
EXPECT_EQ(5ul, split("one,,three,four,five", ',').size());
EXPECT_EQ(3ul, split(",three,", ',').size());
EXPECT_EQ(1ul, split("", ',').size());
}
// Tests comparing substrings.
TEST(SplitTest, CompareSubstrings) {
std::vector<std::string> fields;
split("find,middle,one", ',', &fields);
std::vector<absl::string_view> fields = split("find,middle,one", ',');
ASSERT_EQ(3ul, fields.size());
ASSERT_STREQ("middle", fields.at(1).c_str());
fields.clear();
ASSERT_EQ("middle", fields.at(1));
// Empty fields between commas count.
split("find,,middle,one", ',', &fields);
fields = split("find,,middle,one", ',');
ASSERT_EQ(4ul, fields.size());
ASSERT_STREQ("middle", fields.at(2).c_str());
fields.clear();
split("", ',', &fields);
ASSERT_EQ("middle", fields.at(2));
fields = split("", ',');
ASSERT_EQ(1ul, fields.size());
ASSERT_STREQ("", fields.at(0).c_str());
ASSERT_EQ("", fields.at(0));
}
TEST(SplitTest, EmptyTokens) {
std::vector<std::string> fields;
EXPECT_EQ(3ul, split("a.b.c", '.', &fields));
std::vector<absl::string_view> fields = split("a.b.c", '.');
ASSERT_EQ(3ul, fields.size());
EXPECT_EQ("a", fields[0]);
EXPECT_EQ("b", fields[1]);
EXPECT_EQ("c", fields[2]);
EXPECT_EQ(3ul, split("..c", '.', &fields));
fields = split("..c", '.');
ASSERT_EQ(3ul, fields.size());
EXPECT_TRUE(fields[0].empty());
EXPECT_TRUE(fields[1].empty());
EXPECT_EQ("c", fields[2]);
EXPECT_EQ(1ul, split("", '.', &fields));
fields = split("", '.');
ASSERT_EQ(1ul, fields.size());
EXPECT_TRUE(fields[0].empty());
}