| OLD | NEW | 
|     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 #include <stddef.h> |     9 #include <stddef.h> | 
|    10 #include <stdint.h> |    10 #include <stdint.h> | 
| (...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   700   parts.push_back(ASCIIToUTF16("b")); |   700   parts.push_back(ASCIIToUTF16("b")); | 
|   701   parts.push_back(ASCIIToUTF16("c")); |   701   parts.push_back(ASCIIToUTF16("c")); | 
|   702   EXPECT_EQ(ASCIIToUTF16("a, b, c"), JoinString(parts, separator)); |   702   EXPECT_EQ(ASCIIToUTF16("a, b, c"), JoinString(parts, separator)); | 
|   703  |   703  | 
|   704   parts.push_back(ASCIIToUTF16("")); |   704   parts.push_back(ASCIIToUTF16("")); | 
|   705   EXPECT_EQ(ASCIIToUTF16("a, b, c, "), JoinString(parts, separator)); |   705   EXPECT_EQ(ASCIIToUTF16("a, b, c, "), JoinString(parts, separator)); | 
|   706   parts.push_back(ASCIIToUTF16(" ")); |   706   parts.push_back(ASCIIToUTF16(" ")); | 
|   707   EXPECT_EQ(ASCIIToUTF16("a|b|c|| "), JoinString(parts, ASCIIToUTF16("|"))); |   707   EXPECT_EQ(ASCIIToUTF16("a|b|c|| "), JoinString(parts, ASCIIToUTF16("|"))); | 
|   708 } |   708 } | 
|   709  |   709  | 
 |   710 TEST(StringUtilTest, JoinStringPiece) { | 
 |   711   std::string separator(", "); | 
 |   712   std::vector<base::StringPiece> parts; | 
 |   713   EXPECT_EQ(base::StringPiece(), JoinString(parts, separator)); | 
 |   714  | 
 |   715   parts.push_back("a"); | 
 |   716   EXPECT_EQ("a", JoinString(parts, separator)); | 
 |   717  | 
 |   718   parts.push_back("b"); | 
 |   719   parts.push_back("c"); | 
 |   720   EXPECT_EQ("a, b, c", JoinString(parts, separator)); | 
 |   721  | 
 |   722   parts.push_back(base::StringPiece()); | 
 |   723   EXPECT_EQ("a, b, c, ", JoinString(parts, separator)); | 
 |   724   parts.push_back(" "); | 
 |   725   EXPECT_EQ("a|b|c|| ", JoinString(parts, "|")); | 
 |   726 } | 
 |   727  | 
 |   728 TEST(StringUtilTest, JoinStringPiece16) { | 
 |   729   string16 separator = ASCIIToUTF16(", "); | 
 |   730   std::vector<base::StringPiece16> parts; | 
 |   731   EXPECT_EQ(base::StringPiece16(), JoinString(parts, separator)); | 
 |   732  | 
 |   733   const string16 kA = ASCIIToUTF16("a"); | 
 |   734   parts.push_back(kA); | 
 |   735   EXPECT_EQ(ASCIIToUTF16("a"), JoinString(parts, separator)); | 
 |   736  | 
 |   737   const string16 kB = ASCIIToUTF16("b"); | 
 |   738   parts.push_back(kB); | 
 |   739   const string16 kC = ASCIIToUTF16("c"); | 
 |   740   parts.push_back(kC); | 
 |   741   EXPECT_EQ(ASCIIToUTF16("a, b, c"), JoinString(parts, separator)); | 
 |   742  | 
 |   743   parts.push_back(base::StringPiece16()); | 
 |   744   EXPECT_EQ(ASCIIToUTF16("a, b, c, "), JoinString(parts, separator)); | 
 |   745   const string16 kSpace = ASCIIToUTF16(" "); | 
 |   746   parts.push_back(kSpace); | 
 |   747   EXPECT_EQ(ASCIIToUTF16("a|b|c|| "), JoinString(parts, ASCIIToUTF16("|"))); | 
 |   748 } | 
 |   749  | 
 |   750 TEST(StringUtilTest, JoinStringInitializerList) { | 
 |   751   std::string separator(", "); | 
 |   752   EXPECT_EQ(base::StringPiece(), JoinString({}, separator)); | 
 |   753  | 
 |   754   // With const char*s. | 
 |   755   EXPECT_EQ("a", JoinString({"a"}, separator)); | 
 |   756   EXPECT_EQ("a, b, c", JoinString({"a", "b", "c"}, separator)); | 
 |   757   EXPECT_EQ("a, b, c, ", JoinString({"a", "b", "c", ""}, separator)); | 
 |   758   EXPECT_EQ("a|b|c|| ", JoinString({"a", "b", "c", "", " "}, "|")); | 
 |   759  | 
 |   760   // With std::strings. | 
 |   761   const std::string kA = "a"; | 
 |   762   const std::string kB = "b"; | 
 |   763   EXPECT_EQ("a, b", JoinString({kA, kB}, separator)); | 
 |   764  | 
 |   765   // With StringPieces. | 
 |   766   const StringPiece kPieceA = kA; | 
 |   767   const StringPiece kPieceB = kB; | 
 |   768   EXPECT_EQ("a, b", JoinString({kPieceA, kPieceB}, separator)); | 
 |   769 } | 
 |   770  | 
 |   771 TEST(StringUtilTest, JoinStringInitializerList16) { | 
 |   772   string16 separator = ASCIIToUTF16(", "); | 
 |   773   EXPECT_EQ(base::StringPiece16(), JoinString({}, separator)); | 
 |   774  | 
 |   775   // With string16s. | 
 |   776   const string16 kA = ASCIIToUTF16("a"); | 
 |   777   EXPECT_EQ(ASCIIToUTF16("a"), JoinString({kA}, separator)); | 
 |   778  | 
 |   779   const string16 kB = ASCIIToUTF16("b"); | 
 |   780   const string16 kC = ASCIIToUTF16("c"); | 
 |   781   EXPECT_EQ(ASCIIToUTF16("a, b, c"), JoinString({kA, kB, kC}, separator)); | 
 |   782  | 
 |   783   const string16 kEmpty = ASCIIToUTF16(""); | 
 |   784   EXPECT_EQ(ASCIIToUTF16("a, b, c, "), | 
 |   785             JoinString({kA, kB, kC, kEmpty}, separator)); | 
 |   786   const string16 kSpace = ASCIIToUTF16(" "); | 
 |   787   EXPECT_EQ(ASCIIToUTF16("a|b|c|| "), | 
 |   788             JoinString({kA, kB, kC, kEmpty, kSpace}, ASCIIToUTF16("|"))); | 
 |   789  | 
 |   790   // With StringPiece16s. | 
 |   791   const StringPiece16 kPieceA = kA; | 
 |   792   const StringPiece16 kPieceB = kB; | 
 |   793   EXPECT_EQ(ASCIIToUTF16("a, b"), JoinString({kPieceA, kPieceB}, separator)); | 
 |   794 } | 
 |   795  | 
|   710 TEST(StringUtilTest, StartsWith) { |   796 TEST(StringUtilTest, StartsWith) { | 
|   711   EXPECT_TRUE(StartsWith("javascript:url", "javascript", |   797   EXPECT_TRUE(StartsWith("javascript:url", "javascript", | 
|   712                          base::CompareCase::SENSITIVE)); |   798                          base::CompareCase::SENSITIVE)); | 
|   713   EXPECT_FALSE(StartsWith("JavaScript:url", "javascript", |   799   EXPECT_FALSE(StartsWith("JavaScript:url", "javascript", | 
|   714                           base::CompareCase::SENSITIVE)); |   800                           base::CompareCase::SENSITIVE)); | 
|   715   EXPECT_TRUE(StartsWith("javascript:url", "javascript", |   801   EXPECT_TRUE(StartsWith("javascript:url", "javascript", | 
|   716                          base::CompareCase::INSENSITIVE_ASCII)); |   802                          base::CompareCase::INSENSITIVE_ASCII)); | 
|   717   EXPECT_TRUE(StartsWith("JavaScript:url", "javascript", |   803   EXPECT_TRUE(StartsWith("JavaScript:url", "javascript", | 
|   718                          base::CompareCase::INSENSITIVE_ASCII)); |   804                          base::CompareCase::INSENSITIVE_ASCII)); | 
|   719   EXPECT_FALSE(StartsWith("java", "javascript", base::CompareCase::SENSITIVE)); |   805   EXPECT_FALSE(StartsWith("java", "javascript", base::CompareCase::SENSITIVE)); | 
| (...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1121   const std::string live = kLive; |  1207   const std::string live = kLive; | 
|  1122   std::string dead = live; |  1208   std::string dead = live; | 
|  1123   strncpy(WriteInto(&dead, 5), kDead, 4); |  1209   strncpy(WriteInto(&dead, 5), kDead, 4); | 
|  1124   EXPECT_EQ(kDead, dead); |  1210   EXPECT_EQ(kDead, dead); | 
|  1125   EXPECT_EQ(4u, dead.size()); |  1211   EXPECT_EQ(4u, dead.size()); | 
|  1126   EXPECT_EQ(kLive, live); |  1212   EXPECT_EQ(kLive, live); | 
|  1127   EXPECT_EQ(4u, live.size()); |  1213   EXPECT_EQ(4u, live.size()); | 
|  1128 } |  1214 } | 
|  1129  |  1215  | 
|  1130 }  // namespace base |  1216 }  // namespace base | 
| OLD | NEW |