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

Side by Side Diff: base/string_util_unittest.cc

Issue 6821001: Support more than 9 arguments for ReplaceStringPlaceholders() Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 8 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 | Annotate | Revision Log
« base/string_util.cc ('K') | « base/string_util.cc ('k') | no next file » | 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) 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 <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
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
(...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after
875 subst.push_back(ASCIIToUTF16("2h")); 875 subst.push_back(ASCIIToUTF16("2h"));
876 subst.push_back(ASCIIToUTF16("1i")); 876 subst.push_back(ASCIIToUTF16("1i"));
877 877
878 string16 formatted = 878 string16 formatted =
879 ReplaceStringPlaceholders( 879 ReplaceStringPlaceholders(
880 ASCIIToUTF16("$1a,$2b,$3c,$4d,$5e,$6f,$7g,$8h,$9i"), subst, NULL); 880 ASCIIToUTF16("$1a,$2b,$3c,$4d,$5e,$6f,$7g,$8h,$9i"), subst, NULL);
881 881
882 EXPECT_EQ(formatted, ASCIIToUTF16("9aa,8bb,7cc,6dd,5ee,4ff,3gg,2hh,1ii")); 882 EXPECT_EQ(formatted, ASCIIToUTF16("9aa,8bb,7cc,6dd,5ee,4ff,3gg,2hh,1ii"));
883 } 883 }
884 884
885 TEST(StringUtilTest, ReplaceStringPlaceholdersMoreThan9Replacements) {
886 std::vector<string16> subst;
887 subst.push_back(ASCIIToUTF16("9a"));
888 subst.push_back(ASCIIToUTF16("8b"));
889 subst.push_back(ASCIIToUTF16("7c"));
890 subst.push_back(ASCIIToUTF16("6d"));
891 subst.push_back(ASCIIToUTF16("5e"));
892 subst.push_back(ASCIIToUTF16("4f"));
893 subst.push_back(ASCIIToUTF16("3g"));
894 subst.push_back(ASCIIToUTF16("2h"));
895 subst.push_back(ASCIIToUTF16("1i"));
896 subst.push_back(ASCIIToUTF16("0j"));
897 subst.push_back(ASCIIToUTF16("-1k"));
898 subst.push_back(ASCIIToUTF16("-2l"));
899 subst.push_back(ASCIIToUTF16("-3m"));
900 subst.push_back(ASCIIToUTF16("-4n"));
901
902 string16 formatted =
903 ReplaceStringPlaceholders(
904 ASCIIToUTF16("$1a,$2b,$3c,$4d,$5e,$6f,$7g,$8h,$9i,"
905 "$10j,$11k,$12l,$13m,$14n"), subst, NULL);
906
907 EXPECT_EQ(formatted, ASCIIToUTF16("9aa,8bb,7cc,6dd,5ee,4ff,3gg,2hh,"
908 "1ii,0jj,-1kk,-2ll,-3mm,-4nn"));
909 }
910
885 TEST(StringUtilTest, ReplaceStringPlaceholdersTooFew) { 911 TEST(StringUtilTest, ReplaceStringPlaceholdersTooFew) {
886 // Test whether replacestringplaceholders works as expected when there 912 // Test whether replacestringplaceholders works as expected when there
887 // are fewer inputs than outputs. 913 // are fewer inputs than outputs.
888 std::vector<string16> subst; 914 std::vector<string16> subst;
889 subst.push_back(ASCIIToUTF16("9a")); 915 subst.push_back(ASCIIToUTF16("9a"));
890 subst.push_back(ASCIIToUTF16("8b")); 916 subst.push_back(ASCIIToUTF16("8b"));
891 subst.push_back(ASCIIToUTF16("7c")); 917 subst.push_back(ASCIIToUTF16("7c"));
892 918
893 string16 formatted = 919 string16 formatted =
894 ReplaceStringPlaceholders( 920 ReplaceStringPlaceholders(
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 EXPECT_FALSE(ContainsOnlyChars("Hello", "")); 1105 EXPECT_FALSE(ContainsOnlyChars("Hello", ""));
1080 1106
1081 EXPECT_TRUE(ContainsOnlyChars("", "1234")); 1107 EXPECT_TRUE(ContainsOnlyChars("", "1234"));
1082 EXPECT_TRUE(ContainsOnlyChars("1", "1234")); 1108 EXPECT_TRUE(ContainsOnlyChars("1", "1234"));
1083 EXPECT_TRUE(ContainsOnlyChars("1", "4321")); 1109 EXPECT_TRUE(ContainsOnlyChars("1", "4321"));
1084 EXPECT_TRUE(ContainsOnlyChars("123", "4321")); 1110 EXPECT_TRUE(ContainsOnlyChars("123", "4321"));
1085 EXPECT_FALSE(ContainsOnlyChars("123a", "4321")); 1111 EXPECT_FALSE(ContainsOnlyChars("123a", "4321"));
1086 } 1112 }
1087 1113
1088 } // namespace base 1114 } // namespace base
OLDNEW
« base/string_util.cc ('K') | « base/string_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698