| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/string_split.h" | 5 #include "base/string_split.h" |
| 6 | 6 |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "testing/gmock/include/gmock/gmock.h" | 8 #include "testing/gmock/include/gmock/gmock.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 | 276 |
| 277 SplitStringDontTrim("\ta\t\nb\tcc", '\n', &r); | 277 SplitStringDontTrim("\ta\t\nb\tcc", '\n', &r); |
| 278 ASSERT_EQ(2U, r.size()); | 278 ASSERT_EQ(2U, r.size()); |
| 279 EXPECT_EQ(r[0], "\ta\t"); | 279 EXPECT_EQ(r[0], "\ta\t"); |
| 280 EXPECT_EQ(r[1], "b\tcc"); | 280 EXPECT_EQ(r[1], "b\tcc"); |
| 281 r.clear(); | 281 r.clear(); |
| 282 } | 282 } |
| 283 | 283 |
| 284 TEST(StringSplitTest, SplitStringAlongWhitespace) { | 284 TEST(StringSplitTest, SplitStringAlongWhitespace) { |
| 285 struct TestData { | 285 struct TestData { |
| 286 const std::wstring input; | 286 const char* input; |
| 287 const size_t expected_result_count; | 287 const size_t expected_result_count; |
| 288 const std::wstring output1; | 288 const char* output1; |
| 289 const std::wstring output2; | 289 const char* output2; |
| 290 } data[] = { | 290 } data[] = { |
| 291 { L"a", 1, L"a", L"" }, | 291 { "a", 1, "a", "" }, |
| 292 { L" ", 0, L"", L"" }, | 292 { " ", 0, "", "" }, |
| 293 { L" a", 1, L"a", L"" }, | 293 { " a", 1, "a", "" }, |
| 294 { L" ab ", 1, L"ab", L"" }, | 294 { " ab ", 1, "ab", "" }, |
| 295 { L" ab c", 2, L"ab", L"c" }, | 295 { " ab c", 2, "ab", "c" }, |
| 296 { L" ab c ", 2, L"ab", L"c" }, | 296 { " ab c ", 2, "ab", "c" }, |
| 297 { L" ab cd", 2, L"ab", L"cd" }, | 297 { " ab cd", 2, "ab", "cd" }, |
| 298 { L" ab cd ", 2, L"ab", L"cd" }, | 298 { " ab cd ", 2, "ab", "cd" }, |
| 299 { L" \ta\t", 1, L"a", L"" }, | 299 { " \ta\t", 1, "a", "" }, |
| 300 { L" b\ta\t", 2, L"b", L"a" }, | 300 { " b\ta\t", 2, "b", "a" }, |
| 301 { L" b\tat", 2, L"b", L"at" }, | 301 { " b\tat", 2, "b", "at" }, |
| 302 { L"b\tat", 2, L"b", L"at" }, | 302 { "b\tat", 2, "b", "at" }, |
| 303 { L"b\t at", 2, L"b", L"at" }, | 303 { "b\t at", 2, "b", "at" }, |
| 304 }; | 304 }; |
| 305 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(data); ++i) { | 305 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(data); ++i) { |
| 306 std::vector<std::wstring> results; | 306 std::vector<std::string> results; |
| 307 SplitStringAlongWhitespace(data[i].input, &results); | 307 SplitStringAlongWhitespace(data[i].input, &results); |
| 308 ASSERT_EQ(data[i].expected_result_count, results.size()); | 308 ASSERT_EQ(data[i].expected_result_count, results.size()); |
| 309 if (data[i].expected_result_count > 0) | 309 if (data[i].expected_result_count > 0) |
| 310 ASSERT_EQ(data[i].output1, results[0]); | 310 ASSERT_EQ(data[i].output1, results[0]); |
| 311 if (data[i].expected_result_count > 1) | 311 if (data[i].expected_result_count > 1) |
| 312 ASSERT_EQ(data[i].output2, results[1]); | 312 ASSERT_EQ(data[i].output2, results[1]); |
| 313 } | 313 } |
| 314 } | 314 } |
| 315 | 315 |
| 316 } // namespace base | 316 } // namespace base |
| OLD | NEW |