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 |