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

Side by Side Diff: base/string_util_unittest.cc

Issue 3447008: base: Finish moving the SplitString functions from string_util.h to string_split.h (Closed) Base URL: git://git.chromium.org/chromium.git
Patch Set: chromeos fixes Created 10 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
« no previous file with comments | « base/string_util.cc ('k') | base/version.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <math.h> 5 #include <math.h>
6 #include <stdarg.h> 6 #include <stdarg.h>
7 7
8 #include <limits> 8 #include <limits>
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after
695 EXPECT_STREQ(s1, s2); 695 EXPECT_STREQ(s1, s2);
696 EXPECT_EQ(d1, d2); 696 EXPECT_EQ(d1, d2);
697 697
698 va_end(dup); 698 va_end(dup);
699 } 699 }
700 700
701 TEST(StringUtilTest, VAList) { 701 TEST(StringUtilTest, VAList) {
702 VariableArgsFunc("%d %d %s %lf", 45, 92, "This is interesting", 9.21); 702 VariableArgsFunc("%d %d %s %lf", 45, 92, "This is interesting", 9.21);
703 } 703 }
704 704
705 // Test for SplitString
706 TEST(StringUtilTest, SplitString) {
707 std::vector<std::wstring> r;
708
709 SplitString(L"", L',', &r);
710 ASSERT_EQ(1U, r.size());
711 EXPECT_EQ(r[0], L"");
712 r.clear();
713
714 SplitString(L"a,b,c", L',', &r);
715 ASSERT_EQ(3U, r.size());
716 EXPECT_EQ(r[0], L"a");
717 EXPECT_EQ(r[1], L"b");
718 EXPECT_EQ(r[2], L"c");
719 r.clear();
720
721 SplitString(L"a, b, c", L',', &r);
722 ASSERT_EQ(3U, r.size());
723 EXPECT_EQ(r[0], L"a");
724 EXPECT_EQ(r[1], L"b");
725 EXPECT_EQ(r[2], L"c");
726 r.clear();
727
728 SplitString(L"a,,c", L',', &r);
729 ASSERT_EQ(3U, r.size());
730 EXPECT_EQ(r[0], L"a");
731 EXPECT_EQ(r[1], L"");
732 EXPECT_EQ(r[2], L"c");
733 r.clear();
734
735 SplitString(L"", L'*', &r);
736 ASSERT_EQ(1U, r.size());
737 EXPECT_EQ(r[0], L"");
738 r.clear();
739
740 SplitString(L"foo", L'*', &r);
741 ASSERT_EQ(1U, r.size());
742 EXPECT_EQ(r[0], L"foo");
743 r.clear();
744
745 SplitString(L"foo ,", L',', &r);
746 ASSERT_EQ(2U, r.size());
747 EXPECT_EQ(r[0], L"foo");
748 EXPECT_EQ(r[1], L"");
749 r.clear();
750
751 SplitString(L",", L',', &r);
752 ASSERT_EQ(2U, r.size());
753 EXPECT_EQ(r[0], L"");
754 EXPECT_EQ(r[1], L"");
755 r.clear();
756
757 SplitString(L"\t\ta\t", L'\t', &r);
758 ASSERT_EQ(4U, r.size());
759 EXPECT_EQ(r[0], L"");
760 EXPECT_EQ(r[1], L"");
761 EXPECT_EQ(r[2], L"a");
762 EXPECT_EQ(r[3], L"");
763 r.clear();
764
765 SplitString(L"\ta\t\nb\tcc", L'\n', &r);
766 ASSERT_EQ(2U, r.size());
767 EXPECT_EQ(r[0], L"a");
768 EXPECT_EQ(r[1], L"b\tcc");
769 r.clear();
770 }
771
772 // Test for Tokenize 705 // Test for Tokenize
773 template <typename STR> 706 template <typename STR>
774 void TokenizeTest() { 707 void TokenizeTest() {
775 std::vector<STR> r; 708 std::vector<STR> r;
776 size_t size; 709 size_t size;
777 710
778 size = Tokenize(STR("This is a string"), STR(" "), &r); 711 size = Tokenize(STR("This is a string"), STR(" "), &r);
779 EXPECT_EQ(4U, size); 712 EXPECT_EQ(4U, size);
780 ASSERT_EQ(4U, r.size()); 713 ASSERT_EQ(4U, r.size());
781 EXPECT_EQ(r[0], STR("This")); 714 EXPECT_EQ(r[0], STR("This"));
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 EXPECT_FALSE(ContainsOnlyChars("Hello", "")); 1157 EXPECT_FALSE(ContainsOnlyChars("Hello", ""));
1225 1158
1226 EXPECT_TRUE(ContainsOnlyChars("", "1234")); 1159 EXPECT_TRUE(ContainsOnlyChars("", "1234"));
1227 EXPECT_TRUE(ContainsOnlyChars("1", "1234")); 1160 EXPECT_TRUE(ContainsOnlyChars("1", "1234"));
1228 EXPECT_TRUE(ContainsOnlyChars("1", "4321")); 1161 EXPECT_TRUE(ContainsOnlyChars("1", "4321"));
1229 EXPECT_TRUE(ContainsOnlyChars("123", "4321")); 1162 EXPECT_TRUE(ContainsOnlyChars("123", "4321"));
1230 EXPECT_FALSE(ContainsOnlyChars("123a", "4321")); 1163 EXPECT_FALSE(ContainsOnlyChars("123a", "4321"));
1231 } 1164 }
1232 1165
1233 } // namespace base 1166 } // namespace base
OLDNEW
« no previous file with comments | « base/string_util.cc ('k') | base/version.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698