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

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

Issue 2691193002: Added StringPiece overloads for base::JoinString. (Closed)
Patch Set: Created 3 years, 10 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
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 #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
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(), JoinStringPiece(parts, separator));
714
715 parts.push_back("a");
716 EXPECT_EQ("a", JoinStringPiece(parts, separator));
717
718 parts.push_back("b");
719 parts.push_back("c");
720 EXPECT_EQ("a, b, c", JoinStringPiece(parts, separator));
721
722 parts.push_back(base::StringPiece());
723 EXPECT_EQ("a, b, c, ", JoinStringPiece(parts, separator));
724 parts.push_back(" ");
725 EXPECT_EQ("a|b|c|| ", JoinStringPiece(parts, "|"));
726 }
727
728 TEST(StringUtilTest, JoinStringPiece16) {
729 string16 separator = ASCIIToUTF16(", ");
730 std::vector<base::StringPiece16> parts;
731 EXPECT_EQ(base::StringPiece16(), JoinStringPiece(parts, separator));
732
733 const string16 kA = ASCIIToUTF16("a");
734 parts.push_back(kA);
735 EXPECT_EQ(ASCIIToUTF16("a"), JoinStringPiece(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"), JoinStringPiece(parts, separator));
742
743 parts.push_back(base::StringPiece16());
744 EXPECT_EQ(ASCIIToUTF16("a, b, c, "), JoinStringPiece(parts, separator));
745 const string16 kSpace = ASCIIToUTF16(" ");
746 parts.push_back(kSpace);
747 EXPECT_EQ(ASCIIToUTF16("a|b|c|| "),
748 JoinStringPiece(parts, ASCIIToUTF16("|")));
749 }
750
710 TEST(StringUtilTest, StartsWith) { 751 TEST(StringUtilTest, StartsWith) {
711 EXPECT_TRUE(StartsWith("javascript:url", "javascript", 752 EXPECT_TRUE(StartsWith("javascript:url", "javascript",
712 base::CompareCase::SENSITIVE)); 753 base::CompareCase::SENSITIVE));
713 EXPECT_FALSE(StartsWith("JavaScript:url", "javascript", 754 EXPECT_FALSE(StartsWith("JavaScript:url", "javascript",
714 base::CompareCase::SENSITIVE)); 755 base::CompareCase::SENSITIVE));
715 EXPECT_TRUE(StartsWith("javascript:url", "javascript", 756 EXPECT_TRUE(StartsWith("javascript:url", "javascript",
716 base::CompareCase::INSENSITIVE_ASCII)); 757 base::CompareCase::INSENSITIVE_ASCII));
717 EXPECT_TRUE(StartsWith("JavaScript:url", "javascript", 758 EXPECT_TRUE(StartsWith("JavaScript:url", "javascript",
718 base::CompareCase::INSENSITIVE_ASCII)); 759 base::CompareCase::INSENSITIVE_ASCII));
719 EXPECT_FALSE(StartsWith("java", "javascript", base::CompareCase::SENSITIVE)); 760 EXPECT_FALSE(StartsWith("java", "javascript", base::CompareCase::SENSITIVE));
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
1121 const std::string live = kLive; 1162 const std::string live = kLive;
1122 std::string dead = live; 1163 std::string dead = live;
1123 strncpy(WriteInto(&dead, 5), kDead, 4); 1164 strncpy(WriteInto(&dead, 5), kDead, 4);
1124 EXPECT_EQ(kDead, dead); 1165 EXPECT_EQ(kDead, dead);
1125 EXPECT_EQ(4u, dead.size()); 1166 EXPECT_EQ(4u, dead.size());
1126 EXPECT_EQ(kLive, live); 1167 EXPECT_EQ(kLive, live);
1127 EXPECT_EQ(4u, live.size()); 1168 EXPECT_EQ(4u, live.size());
1128 } 1169 }
1129 1170
1130 } // namespace base 1171 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698