Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Side by Side Diff: base/strings/string_split_unittest.cc

Issue 2356253006: Make SplitStringUsingSubstr have consistent args. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/strings/string_split.h" 5 #include "base/strings/string_split.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 ',', // Key-value pair delimiter 143 ',', // Key-value pair delimiter
144 &kv_pairs)); 144 &kv_pairs));
145 ASSERT_EQ(2U, kv_pairs.size()); 145 ASSERT_EQ(2U, kv_pairs.size());
146 EXPECT_EQ("key1", kv_pairs[0].first); 146 EXPECT_EQ("key1", kv_pairs[0].first);
147 EXPECT_EQ("va:ue1", kv_pairs[0].second); 147 EXPECT_EQ("va:ue1", kv_pairs[0].second);
148 EXPECT_EQ("key2", kv_pairs[1].first); 148 EXPECT_EQ("key2", kv_pairs[1].first);
149 EXPECT_EQ("value2", kv_pairs[1].second); 149 EXPECT_EQ("value2", kv_pairs[1].second);
150 } 150 }
151 151
152 TEST(SplitStringUsingSubstrTest, EmptyString) { 152 TEST(SplitStringUsingSubstrTest, EmptyString) {
153 std::vector<std::string> results; 153 std::vector<std::string> results = SplitStringUsingSubstr(
154 SplitStringUsingSubstr(std::string(), "DELIMITER", &results); 154 std::string(), "DELIMITER", TRIM_WHITESPACE, SPLIT_WANT_ALL);
155 ASSERT_EQ(1u, results.size()); 155 ASSERT_EQ(1u, results.size());
156 EXPECT_THAT(results, ElementsAre("")); 156 EXPECT_THAT(results, ElementsAre(""));
157 } 157 }
158 158
159 TEST(StringUtilTest, SplitString_Basics) { 159 TEST(StringUtilTest, SplitString_Basics) {
160 std::vector<std::string> r; 160 std::vector<std::string> r;
161 161
162 r = SplitString(std::string(), ",:;", KEEP_WHITESPACE, SPLIT_WANT_ALL); 162 r = SplitString(std::string(), ",:;", KEEP_WHITESPACE, SPLIT_WANT_ALL);
163 EXPECT_TRUE(r.empty()); 163 EXPECT_TRUE(r.empty());
164 164
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 r = SplitString(", ,", ",", TRIM_WHITESPACE, SPLIT_WANT_ALL); 224 r = SplitString(", ,", ",", TRIM_WHITESPACE, SPLIT_WANT_ALL);
225 ASSERT_EQ(3u, r.size()); 225 ASSERT_EQ(3u, r.size());
226 EXPECT_EQ("", r[0]); 226 EXPECT_EQ("", r[0]);
227 EXPECT_EQ("", r[1]); 227 EXPECT_EQ("", r[1]);
228 EXPECT_EQ("", r[2]); 228 EXPECT_EQ("", r[2]);
229 r = SplitString(", ,", ",", TRIM_WHITESPACE, SPLIT_WANT_NONEMPTY); 229 r = SplitString(", ,", ",", TRIM_WHITESPACE, SPLIT_WANT_NONEMPTY);
230 ASSERT_TRUE(r.empty()); 230 ASSERT_TRUE(r.empty());
231 } 231 }
232 232
233 TEST(SplitStringUsingSubstrTest, StringWithNoDelimiter) { 233 TEST(SplitStringUsingSubstrTest, StringWithNoDelimiter) {
234 std::vector<std::string> results; 234 std::vector<std::string> results = SplitStringUsingSubstr(
235 SplitStringUsingSubstr("alongwordwithnodelimiter", "DELIMITER", &results); 235 "alongwordwithnodelimiter", "DELIMITER", TRIM_WHITESPACE,
236 SPLIT_WANT_ALL);
236 ASSERT_EQ(1u, results.size()); 237 ASSERT_EQ(1u, results.size());
237 EXPECT_THAT(results, ElementsAre("alongwordwithnodelimiter")); 238 EXPECT_THAT(results, ElementsAre("alongwordwithnodelimiter"));
238 } 239 }
239 240
240 TEST(SplitStringUsingSubstrTest, LeadingDelimitersSkipped) { 241 TEST(SplitStringUsingSubstrTest, LeadingDelimitersSkipped) {
241 std::vector<std::string> results; 242 std::vector<std::string> results = SplitStringUsingSubstr(
242 SplitStringUsingSubstr(
243 "DELIMITERDELIMITERDELIMITERoneDELIMITERtwoDELIMITERthree", 243 "DELIMITERDELIMITERDELIMITERoneDELIMITERtwoDELIMITERthree",
244 "DELIMITER", 244 "DELIMITER", TRIM_WHITESPACE, SPLIT_WANT_ALL);
245 &results);
246 ASSERT_EQ(6u, results.size()); 245 ASSERT_EQ(6u, results.size());
247 EXPECT_THAT(results, ElementsAre("", "", "", "one", "two", "three")); 246 EXPECT_THAT(results, ElementsAre("", "", "", "one", "two", "three"));
248 } 247 }
249 248
250 TEST(SplitStringUsingSubstrTest, ConsecutiveDelimitersSkipped) { 249 TEST(SplitStringUsingSubstrTest, ConsecutiveDelimitersSkipped) {
251 std::vector<std::string> results; 250 std::vector<std::string> results = SplitStringUsingSubstr(
252 SplitStringUsingSubstr(
253 "unoDELIMITERDELIMITERDELIMITERdosDELIMITERtresDELIMITERDELIMITERcuatro", 251 "unoDELIMITERDELIMITERDELIMITERdosDELIMITERtresDELIMITERDELIMITERcuatro",
254 "DELIMITER", 252 "DELIMITER", TRIM_WHITESPACE, SPLIT_WANT_ALL);
255 &results);
256 ASSERT_EQ(7u, results.size()); 253 ASSERT_EQ(7u, results.size());
257 EXPECT_THAT(results, ElementsAre("uno", "", "", "dos", "tres", "", "cuatro")); 254 EXPECT_THAT(results, ElementsAre("uno", "", "", "dos", "tres", "", "cuatro"));
258 } 255 }
259 256
260 TEST(SplitStringUsingSubstrTest, TrailingDelimitersSkipped) { 257 TEST(SplitStringUsingSubstrTest, TrailingDelimitersSkipped) {
261 std::vector<std::string> results; 258 std::vector<std::string> results = SplitStringUsingSubstr(
262 SplitStringUsingSubstr(
263 "unDELIMITERdeuxDELIMITERtroisDELIMITERquatreDELIMITERDELIMITERDELIMITER", 259 "unDELIMITERdeuxDELIMITERtroisDELIMITERquatreDELIMITERDELIMITERDELIMITER",
264 "DELIMITER", 260 "DELIMITER", TRIM_WHITESPACE, SPLIT_WANT_ALL);
265 &results);
266 ASSERT_EQ(7u, results.size()); 261 ASSERT_EQ(7u, results.size());
267 EXPECT_THAT( 262 EXPECT_THAT(
268 results, ElementsAre("un", "deux", "trois", "quatre", "", "", "")); 263 results, ElementsAre("un", "deux", "trois", "quatre", "", "", ""));
269 } 264 }
270 265
271 TEST(SplitStringPieceUsingSubstrTest, StringWithNoDelimiter) { 266 TEST(SplitStringPieceUsingSubstrTest, StringWithNoDelimiter) {
272 std::vector<base::StringPiece> results = 267 std::vector<base::StringPiece> results =
273 SplitStringPieceUsingSubstr("alongwordwithnodelimiter", "DELIMITER", 268 SplitStringPieceUsingSubstr("alongwordwithnodelimiter", "DELIMITER",
274 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); 269 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
275 ASSERT_EQ(1u, results.size()); 270 ASSERT_EQ(1u, results.size());
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 base::SPLIT_WANT_NONEMPTY); 377 base::SPLIT_WANT_NONEMPTY);
383 ASSERT_EQ(data[i].expected_result_count, results.size()); 378 ASSERT_EQ(data[i].expected_result_count, results.size());
384 if (data[i].expected_result_count > 0) 379 if (data[i].expected_result_count > 0)
385 ASSERT_EQ(data[i].output1, results[0]); 380 ASSERT_EQ(data[i].output1, results[0]);
386 if (data[i].expected_result_count > 1) 381 if (data[i].expected_result_count > 1)
387 ASSERT_EQ(data[i].output2, results[1]); 382 ASSERT_EQ(data[i].output2, results[1]);
388 } 383 }
389 } 384 }
390 385
391 } // namespace base 386 } // namespace base
OLDNEW
« no previous file with comments | « base/strings/string_split.cc ('k') | chrome/browser/devtools/device/android_device_info_query.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698