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

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

Issue 1171973003: Move StringToUpperASCII to base namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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/strings/string_util.h ('k') | chrome/browser/chromeos/dbus/printer_service_provider.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_util.h" 5 #include "base/strings/string_util.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <stdarg.h> 8 #include <stdarg.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 // Convert empty strings. 487 // Convert empty strings.
488 string16 empty16; 488 string16 empty16;
489 std::string empty; 489 std::string empty;
490 EXPECT_EQ(empty, UTF16ToASCII(empty16)); 490 EXPECT_EQ(empty, UTF16ToASCII(empty16));
491 EXPECT_EQ(empty16, ASCIIToUTF16(empty)); 491 EXPECT_EQ(empty16, ASCIIToUTF16(empty));
492 492
493 // Convert strings with an embedded NUL character. 493 // Convert strings with an embedded NUL character.
494 const char chars_with_nul[] = "test\0string"; 494 const char chars_with_nul[] = "test\0string";
495 const int length_with_nul = arraysize(chars_with_nul) - 1; 495 const int length_with_nul = arraysize(chars_with_nul) - 1;
496 std::string string_with_nul(chars_with_nul, length_with_nul); 496 std::string string_with_nul(chars_with_nul, length_with_nul);
497 base::string16 string16_with_nul = ASCIIToUTF16(string_with_nul); 497 string16 string16_with_nul = ASCIIToUTF16(string_with_nul);
498 EXPECT_EQ(static_cast<base::string16::size_type>(length_with_nul), 498 EXPECT_EQ(static_cast<string16::size_type>(length_with_nul),
499 string16_with_nul.length()); 499 string16_with_nul.length());
500 std::string narrow_with_nul = UTF16ToASCII(string16_with_nul); 500 std::string narrow_with_nul = UTF16ToASCII(string16_with_nul);
501 EXPECT_EQ(static_cast<std::string::size_type>(length_with_nul), 501 EXPECT_EQ(static_cast<std::string::size_type>(length_with_nul),
502 narrow_with_nul.length()); 502 narrow_with_nul.length());
503 EXPECT_EQ(0, string_with_nul.compare(narrow_with_nul)); 503 EXPECT_EQ(0, string_with_nul.compare(narrow_with_nul));
504 } 504 }
505 505
506 TEST(StringUtilTest, ToUpperASCII) { 506 TEST(StringUtilTest, ToUpperASCII) {
507 EXPECT_EQ('C', ToUpperASCII('C')); 507 EXPECT_EQ('C', ToUpperASCII('C'));
508 EXPECT_EQ('C', ToUpperASCII('c')); 508 EXPECT_EQ('C', ToUpperASCII('c'));
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 EXPECT_EQ(r[0], STR("\ta\t")); 761 EXPECT_EQ(r[0], STR("\ta\t"));
762 EXPECT_EQ(r[1], STR("b\tcc")); 762 EXPECT_EQ(r[1], STR("b\tcc"));
763 r.clear(); 763 r.clear();
764 } 764 }
765 765
766 TEST(StringUtilTest, TokenizeStdString) { 766 TEST(StringUtilTest, TokenizeStdString) {
767 TokenizeTest<std::string>(); 767 TokenizeTest<std::string>();
768 } 768 }
769 769
770 TEST(StringUtilTest, TokenizeStringPiece) { 770 TEST(StringUtilTest, TokenizeStringPiece) {
771 TokenizeTest<base::StringPiece>(); 771 TokenizeTest<StringPiece>();
772 } 772 }
773 773
774 // Test for JoinString 774 // Test for JoinString
775 TEST(StringUtilTest, JoinString) { 775 TEST(StringUtilTest, JoinString) {
776 std::vector<std::string> in; 776 std::vector<std::string> in;
777 EXPECT_EQ("", JoinString(in, ',')); 777 EXPECT_EQ("", JoinString(in, ','));
778 778
779 in.push_back("a"); 779 in.push_back("a");
780 EXPECT_EQ("a", JoinString(in, ',')); 780 EXPECT_EQ("a", JoinString(in, ','));
781 781
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
1031 // recursion depth). 1031 // recursion depth).
1032 EXPECT_TRUE(MatchPattern(UTF8ToUTF16("Hello"), 1032 EXPECT_TRUE(MatchPattern(UTF8ToUTF16("Hello"),
1033 UTF8ToUTF16("He********************************o"))); 1033 UTF8ToUTF16("He********************************o")));
1034 } 1034 }
1035 1035
1036 TEST(StringUtilTest, LcpyTest) { 1036 TEST(StringUtilTest, LcpyTest) {
1037 // Test the normal case where we fit in our buffer. 1037 // Test the normal case where we fit in our buffer.
1038 { 1038 {
1039 char dst[10]; 1039 char dst[10];
1040 wchar_t wdst[10]; 1040 wchar_t wdst[10];
1041 EXPECT_EQ(7U, base::strlcpy(dst, "abcdefg", arraysize(dst))); 1041 EXPECT_EQ(7U, strlcpy(dst, "abcdefg", arraysize(dst)));
1042 EXPECT_EQ(0, memcmp(dst, "abcdefg", 8)); 1042 EXPECT_EQ(0, memcmp(dst, "abcdefg", 8));
1043 EXPECT_EQ(7U, base::wcslcpy(wdst, L"abcdefg", arraysize(wdst))); 1043 EXPECT_EQ(7U, wcslcpy(wdst, L"abcdefg", arraysize(wdst)));
1044 EXPECT_EQ(0, memcmp(wdst, L"abcdefg", sizeof(wchar_t) * 8)); 1044 EXPECT_EQ(0, memcmp(wdst, L"abcdefg", sizeof(wchar_t) * 8));
1045 } 1045 }
1046 1046
1047 // Test dst_size == 0, nothing should be written to |dst| and we should 1047 // Test dst_size == 0, nothing should be written to |dst| and we should
1048 // have the equivalent of strlen(src). 1048 // have the equivalent of strlen(src).
1049 { 1049 {
1050 char dst[2] = {1, 2}; 1050 char dst[2] = {1, 2};
1051 wchar_t wdst[2] = {1, 2}; 1051 wchar_t wdst[2] = {1, 2};
1052 EXPECT_EQ(7U, base::strlcpy(dst, "abcdefg", 0)); 1052 EXPECT_EQ(7U, strlcpy(dst, "abcdefg", 0));
1053 EXPECT_EQ(1, dst[0]); 1053 EXPECT_EQ(1, dst[0]);
1054 EXPECT_EQ(2, dst[1]); 1054 EXPECT_EQ(2, dst[1]);
1055 EXPECT_EQ(7U, base::wcslcpy(wdst, L"abcdefg", 0)); 1055 EXPECT_EQ(7U, wcslcpy(wdst, L"abcdefg", 0));
1056 EXPECT_EQ(static_cast<wchar_t>(1), wdst[0]); 1056 EXPECT_EQ(static_cast<wchar_t>(1), wdst[0]);
1057 EXPECT_EQ(static_cast<wchar_t>(2), wdst[1]); 1057 EXPECT_EQ(static_cast<wchar_t>(2), wdst[1]);
1058 } 1058 }
1059 1059
1060 // Test the case were we _just_ competely fit including the null. 1060 // Test the case were we _just_ competely fit including the null.
1061 { 1061 {
1062 char dst[8]; 1062 char dst[8];
1063 wchar_t wdst[8]; 1063 wchar_t wdst[8];
1064 EXPECT_EQ(7U, base::strlcpy(dst, "abcdefg", arraysize(dst))); 1064 EXPECT_EQ(7U, strlcpy(dst, "abcdefg", arraysize(dst)));
1065 EXPECT_EQ(0, memcmp(dst, "abcdefg", 8)); 1065 EXPECT_EQ(0, memcmp(dst, "abcdefg", 8));
1066 EXPECT_EQ(7U, base::wcslcpy(wdst, L"abcdefg", arraysize(wdst))); 1066 EXPECT_EQ(7U, wcslcpy(wdst, L"abcdefg", arraysize(wdst)));
1067 EXPECT_EQ(0, memcmp(wdst, L"abcdefg", sizeof(wchar_t) * 8)); 1067 EXPECT_EQ(0, memcmp(wdst, L"abcdefg", sizeof(wchar_t) * 8));
1068 } 1068 }
1069 1069
1070 // Test the case were we we are one smaller, so we can't fit the null. 1070 // Test the case were we we are one smaller, so we can't fit the null.
1071 { 1071 {
1072 char dst[7]; 1072 char dst[7];
1073 wchar_t wdst[7]; 1073 wchar_t wdst[7];
1074 EXPECT_EQ(7U, base::strlcpy(dst, "abcdefg", arraysize(dst))); 1074 EXPECT_EQ(7U, strlcpy(dst, "abcdefg", arraysize(dst)));
1075 EXPECT_EQ(0, memcmp(dst, "abcdef", 7)); 1075 EXPECT_EQ(0, memcmp(dst, "abcdef", 7));
1076 EXPECT_EQ(7U, base::wcslcpy(wdst, L"abcdefg", arraysize(wdst))); 1076 EXPECT_EQ(7U, wcslcpy(wdst, L"abcdefg", arraysize(wdst)));
1077 EXPECT_EQ(0, memcmp(wdst, L"abcdef", sizeof(wchar_t) * 7)); 1077 EXPECT_EQ(0, memcmp(wdst, L"abcdef", sizeof(wchar_t) * 7));
1078 } 1078 }
1079 1079
1080 // Test the case were we are just too small. 1080 // Test the case were we are just too small.
1081 { 1081 {
1082 char dst[3]; 1082 char dst[3];
1083 wchar_t wdst[3]; 1083 wchar_t wdst[3];
1084 EXPECT_EQ(7U, base::strlcpy(dst, "abcdefg", arraysize(dst))); 1084 EXPECT_EQ(7U, strlcpy(dst, "abcdefg", arraysize(dst)));
1085 EXPECT_EQ(0, memcmp(dst, "ab", 3)); 1085 EXPECT_EQ(0, memcmp(dst, "ab", 3));
1086 EXPECT_EQ(7U, base::wcslcpy(wdst, L"abcdefg", arraysize(wdst))); 1086 EXPECT_EQ(7U, wcslcpy(wdst, L"abcdefg", arraysize(wdst)));
1087 EXPECT_EQ(0, memcmp(wdst, L"ab", sizeof(wchar_t) * 3)); 1087 EXPECT_EQ(0, memcmp(wdst, L"ab", sizeof(wchar_t) * 3));
1088 } 1088 }
1089 } 1089 }
1090 1090
1091 TEST(StringUtilTest, WprintfFormatPortabilityTest) { 1091 TEST(StringUtilTest, WprintfFormatPortabilityTest) {
1092 static const struct { 1092 static const struct {
1093 const wchar_t* input; 1093 const wchar_t* input;
1094 bool portable; 1094 bool portable;
1095 } cases[] = { 1095 } cases[] = {
1096 { L"%ls", true }, 1096 { L"%ls", true },
(...skipping 12 matching lines...) Expand all
1109 { L"%f %F", false }, 1109 { L"%f %F", false },
1110 { L"%d %D", false }, 1110 { L"%d %D", false },
1111 { L"%o %O", false }, 1111 { L"%o %O", false },
1112 { L"%u %U", false }, 1112 { L"%u %U", false },
1113 { L"%f %d %o %u", true }, 1113 { L"%f %d %o %u", true },
1114 { L"%-8d (%02.1f%)", true }, 1114 { L"%-8d (%02.1f%)", true },
1115 { L"% 10s", false }, 1115 { L"% 10s", false },
1116 { L"% 10ls", true } 1116 { L"% 10ls", true }
1117 }; 1117 };
1118 for (size_t i = 0; i < arraysize(cases); ++i) 1118 for (size_t i = 0; i < arraysize(cases); ++i)
1119 EXPECT_EQ(cases[i].portable, base::IsWprintfFormatPortable(cases[i].input)); 1119 EXPECT_EQ(cases[i].portable, IsWprintfFormatPortable(cases[i].input));
1120 } 1120 }
1121 1121
1122 TEST(StringUtilTest, RemoveChars) { 1122 TEST(StringUtilTest, RemoveChars) {
1123 const char kRemoveChars[] = "-/+*"; 1123 const char kRemoveChars[] = "-/+*";
1124 std::string input = "A-+bc/d!*"; 1124 std::string input = "A-+bc/d!*";
1125 EXPECT_TRUE(RemoveChars(input, kRemoveChars, &input)); 1125 EXPECT_TRUE(RemoveChars(input, kRemoveChars, &input));
1126 EXPECT_EQ("Abcd!", input); 1126 EXPECT_EQ("Abcd!", input);
1127 1127
1128 // No characters match kRemoveChars. 1128 // No characters match kRemoveChars.
1129 EXPECT_FALSE(RemoveChars(input, kRemoveChars, &input)); 1129 EXPECT_FALSE(RemoveChars(input, kRemoveChars, &input));
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
1226 const std::string live = kLive; 1226 const std::string live = kLive;
1227 std::string dead = live; 1227 std::string dead = live;
1228 strncpy(WriteInto(&dead, 5), kDead, 4); 1228 strncpy(WriteInto(&dead, 5), kDead, 4);
1229 EXPECT_EQ(kDead, dead); 1229 EXPECT_EQ(kDead, dead);
1230 EXPECT_EQ(4u, dead.size()); 1230 EXPECT_EQ(4u, dead.size());
1231 EXPECT_EQ(kLive, live); 1231 EXPECT_EQ(kLive, live);
1232 EXPECT_EQ(4u, live.size()); 1232 EXPECT_EQ(4u, live.size());
1233 } 1233 }
1234 1234
1235 } // namespace base 1235 } // namespace base
OLDNEW
« no previous file with comments | « base/strings/string_util.h ('k') | chrome/browser/chromeos/dbus/printer_service_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698