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 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 1214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1225 const char kDead[] = "dead"; | 1225 const char kDead[] = "dead"; |
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 TEST(StringUtilTest, StartsAt) { |
| 1236 EXPECT_EQ(0u, StartsAt(ASCIIToUTF16("javascript:url"), |
| 1237 ASCIIToUTF16("javascript"), true)); |
| 1238 EXPECT_EQ(base::string16::npos, StartsAt(ASCIIToUTF16("JavaScript:url"), |
| 1239 ASCIIToUTF16("javascript"), true)); |
| 1240 EXPECT_EQ(0u, StartsAt(ASCIIToUTF16("javascript:url"), |
| 1241 ASCIIToUTF16("javascript"), false)); |
| 1242 EXPECT_EQ(0u, StartsAt(ASCIIToUTF16("JavaScript:url"), |
| 1243 ASCIIToUTF16("javascript"), false)); |
| 1244 EXPECT_EQ(11u, StartsAt(ASCIIToUTF16("javascript:url"), ASCIIToUTF16("url"), |
| 1245 false)); |
| 1246 EXPECT_EQ(4u, StartsAt(ASCIIToUTF16("JavaScript:url"), ASCIIToUTF16("SCRIPT"), |
| 1247 false)); |
| 1248 EXPECT_EQ(base::string16::npos, |
| 1249 StartsAt(ASCIIToUTF16("java"), ASCIIToUTF16("javascript"), true)); |
| 1250 EXPECT_EQ(base::string16::npos, |
| 1251 StartsAt(ASCIIToUTF16("java"), ASCIIToUTF16("javascript"), false)); |
| 1252 EXPECT_EQ(base::string16::npos, |
| 1253 StartsAt(string16(), ASCIIToUTF16("javascript"), false)); |
| 1254 EXPECT_EQ(base::string16::npos, |
| 1255 StartsAt(string16(), ASCIIToUTF16("javascript"), true)); |
| 1256 EXPECT_EQ(0u, StartsAt(ASCIIToUTF16("java"), string16(), false)); |
| 1257 EXPECT_EQ(0u, StartsAt(ASCIIToUTF16("java"), string16(), true)); |
| 1258 } |
| 1259 |
1235 } // namespace base | 1260 } // namespace base |
OLD | NEW |