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:
committed by
WebRTC LUCI CQ
parent
774b4725a2
commit
f1d822b03b
@ -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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user