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(), 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 Loading... |
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 |
OLD | NEW |