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

Side by Side Diff: extensions/common/matcher/url_matcher_unittest.cc

Issue 13145003: Rewrite std::string("") to std::string(), Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ugh Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « extensions/common/matcher/url_matcher_factory.cc ('k') | google_apis/gaia/gaia_auth_fetcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "extensions/common/matcher/url_matcher.h" 5 #include "extensions/common/matcher/url_matcher.h"
6 6
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "googleurl/src/gurl.h" 8 #include "googleurl/src/gurl.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 EXPECT_NE(old_id_4, c7.string_pattern()->id()); 240 EXPECT_NE(old_id_4, c7.string_pattern()->id());
241 } 241 }
242 242
243 TEST(URLMatcherConditionFactoryTest, TestComponentSearches) { 243 TEST(URLMatcherConditionFactoryTest, TestComponentSearches) {
244 GURL gurl("https://www.google.com:1234/webhp?sourceid=chrome-instant&ie=UTF-8" 244 GURL gurl("https://www.google.com:1234/webhp?sourceid=chrome-instant&ie=UTF-8"
245 "&ion=1#hl=en&output=search&sclient=psy-ab&q=chrome%20is%20awesome"); 245 "&ion=1#hl=en&output=search&sclient=psy-ab&q=chrome%20is%20awesome");
246 URLMatcherConditionFactory factory; 246 URLMatcherConditionFactory factory;
247 std::string url = factory.CanonicalizeURLForComponentSearches(gurl); 247 std::string url = factory.CanonicalizeURLForComponentSearches(gurl);
248 248
249 // Test host component. 249 // Test host component.
250 EXPECT_TRUE(Matches(factory.CreateHostPrefixCondition(""), url)); 250 EXPECT_TRUE(Matches(factory.CreateHostPrefixCondition(std::string()), url));
251 EXPECT_TRUE(Matches(factory.CreateHostPrefixCondition("www.goog"), url)); 251 EXPECT_TRUE(Matches(factory.CreateHostPrefixCondition("www.goog"), url));
252 EXPECT_TRUE( 252 EXPECT_TRUE(
253 Matches(factory.CreateHostPrefixCondition("www.google.com"), url)); 253 Matches(factory.CreateHostPrefixCondition("www.google.com"), url));
254 EXPECT_TRUE( 254 EXPECT_TRUE(
255 Matches(factory.CreateHostPrefixCondition(".www.google.com"), url)); 255 Matches(factory.CreateHostPrefixCondition(".www.google.com"), url));
256 EXPECT_FALSE(Matches(factory.CreateHostPrefixCondition("google.com"), url)); 256 EXPECT_FALSE(Matches(factory.CreateHostPrefixCondition("google.com"), url));
257 EXPECT_FALSE( 257 EXPECT_FALSE(
258 Matches(factory.CreateHostPrefixCondition("www.google.com/"), url)); 258 Matches(factory.CreateHostPrefixCondition("www.google.com/"), url));
259 EXPECT_FALSE(Matches(factory.CreateHostPrefixCondition("webhp"), url)); 259 EXPECT_FALSE(Matches(factory.CreateHostPrefixCondition("webhp"), url));
260 260
261 EXPECT_TRUE(Matches(factory.CreateHostSuffixCondition(""), url)); 261 EXPECT_TRUE(Matches(factory.CreateHostSuffixCondition(std::string()), url));
262 EXPECT_TRUE(Matches(factory.CreateHostSuffixCondition("com"), url)); 262 EXPECT_TRUE(Matches(factory.CreateHostSuffixCondition("com"), url));
263 EXPECT_TRUE(Matches(factory.CreateHostSuffixCondition(".com"), url)); 263 EXPECT_TRUE(Matches(factory.CreateHostSuffixCondition(".com"), url));
264 EXPECT_TRUE( 264 EXPECT_TRUE(
265 Matches(factory.CreateHostSuffixCondition("www.google.com"), url)); 265 Matches(factory.CreateHostSuffixCondition("www.google.com"), url));
266 EXPECT_TRUE( 266 EXPECT_TRUE(
267 Matches(factory.CreateHostSuffixCondition(".www.google.com"), url)); 267 Matches(factory.CreateHostSuffixCondition(".www.google.com"), url));
268 EXPECT_FALSE(Matches(factory.CreateHostSuffixCondition("www"), url)); 268 EXPECT_FALSE(Matches(factory.CreateHostSuffixCondition("www"), url));
269 EXPECT_FALSE( 269 EXPECT_FALSE(
270 Matches(factory.CreateHostSuffixCondition("www.google.com/"), url)); 270 Matches(factory.CreateHostSuffixCondition("www.google.com/"), url));
271 EXPECT_FALSE(Matches(factory.CreateHostSuffixCondition("webhp"), url)); 271 EXPECT_FALSE(Matches(factory.CreateHostSuffixCondition("webhp"), url));
272 272
273 EXPECT_FALSE(Matches(factory.CreateHostEqualsCondition(""), url)); 273 EXPECT_FALSE(Matches(factory.CreateHostEqualsCondition(std::string()), url));
274 EXPECT_FALSE(Matches(factory.CreateHostEqualsCondition("www"), url)); 274 EXPECT_FALSE(Matches(factory.CreateHostEqualsCondition("www"), url));
275 EXPECT_TRUE( 275 EXPECT_TRUE(
276 Matches(factory.CreateHostEqualsCondition("www.google.com"), url)); 276 Matches(factory.CreateHostEqualsCondition("www.google.com"), url));
277 EXPECT_FALSE( 277 EXPECT_FALSE(
278 Matches(factory.CreateHostEqualsCondition("www.google.com/"), url)); 278 Matches(factory.CreateHostEqualsCondition("www.google.com/"), url));
279 279
280 280
281 // Test path component. 281 // Test path component.
282 EXPECT_TRUE(Matches(factory.CreatePathPrefixCondition(""), url)); 282 EXPECT_TRUE(Matches(factory.CreatePathPrefixCondition(std::string()), url));
283 EXPECT_TRUE(Matches(factory.CreatePathPrefixCondition("/web"), url)); 283 EXPECT_TRUE(Matches(factory.CreatePathPrefixCondition("/web"), url));
284 EXPECT_TRUE(Matches(factory.CreatePathPrefixCondition("/webhp"), url)); 284 EXPECT_TRUE(Matches(factory.CreatePathPrefixCondition("/webhp"), url));
285 EXPECT_FALSE(Matches(factory.CreatePathPrefixCondition("webhp"), url)); 285 EXPECT_FALSE(Matches(factory.CreatePathPrefixCondition("webhp"), url));
286 EXPECT_FALSE(Matches(factory.CreatePathPrefixCondition("/webhp?"), url)); 286 EXPECT_FALSE(Matches(factory.CreatePathPrefixCondition("/webhp?"), url));
287 EXPECT_FALSE(Matches(factory.CreatePathPrefixCondition("?sourceid"), url)); 287 EXPECT_FALSE(Matches(factory.CreatePathPrefixCondition("?sourceid"), url));
288 288
289 EXPECT_TRUE(Matches(factory.CreatePathSuffixCondition(""), url)); 289 EXPECT_TRUE(Matches(factory.CreatePathSuffixCondition(std::string()), url));
290 EXPECT_TRUE(Matches(factory.CreatePathSuffixCondition("webhp"), url)); 290 EXPECT_TRUE(Matches(factory.CreatePathSuffixCondition("webhp"), url));
291 EXPECT_TRUE(Matches(factory.CreatePathSuffixCondition("/webhp"), url)); 291 EXPECT_TRUE(Matches(factory.CreatePathSuffixCondition("/webhp"), url));
292 EXPECT_FALSE(Matches(factory.CreatePathSuffixCondition("/web"), url)); 292 EXPECT_FALSE(Matches(factory.CreatePathSuffixCondition("/web"), url));
293 EXPECT_FALSE(Matches(factory.CreatePathSuffixCondition("/webhp?"), url)); 293 EXPECT_FALSE(Matches(factory.CreatePathSuffixCondition("/webhp?"), url));
294 294
295 EXPECT_TRUE(Matches(factory.CreatePathEqualsCondition("/webhp"), url)); 295 EXPECT_TRUE(Matches(factory.CreatePathEqualsCondition("/webhp"), url));
296 EXPECT_FALSE(Matches(factory.CreatePathEqualsCondition("webhp"), url)); 296 EXPECT_FALSE(Matches(factory.CreatePathEqualsCondition("webhp"), url));
297 EXPECT_FALSE(Matches(factory.CreatePathEqualsCondition("/webhp?"), url)); 297 EXPECT_FALSE(Matches(factory.CreatePathEqualsCondition("/webhp?"), url));
298 EXPECT_FALSE( 298 EXPECT_FALSE(
299 Matches(factory.CreatePathEqualsCondition("www.google.com"), url)); 299 Matches(factory.CreatePathEqualsCondition("www.google.com"), url));
300 300
301 301
302 // Test query component. 302 // Test query component.
303 EXPECT_TRUE(Matches(factory.CreateQueryPrefixCondition(""), url)); 303 EXPECT_TRUE(Matches(factory.CreateQueryPrefixCondition(std::string()), url));
304 EXPECT_TRUE(Matches(factory.CreateQueryPrefixCondition("sourceid"), url)); 304 EXPECT_TRUE(Matches(factory.CreateQueryPrefixCondition("sourceid"), url));
305 // The '?' at the beginning is just ignored. 305 // The '?' at the beginning is just ignored.
306 EXPECT_TRUE(Matches(factory.CreateQueryPrefixCondition("?sourceid"), url)); 306 EXPECT_TRUE(Matches(factory.CreateQueryPrefixCondition("?sourceid"), url));
307 307
308 EXPECT_TRUE(Matches(factory.CreateQuerySuffixCondition(""), url)); 308 EXPECT_TRUE(Matches(factory.CreateQuerySuffixCondition(std::string()), url));
309 EXPECT_TRUE(Matches(factory.CreateQuerySuffixCondition("ion=1"), url)); 309 EXPECT_TRUE(Matches(factory.CreateQuerySuffixCondition("ion=1"), url));
310 EXPECT_FALSE(Matches(factory.CreateQuerySuffixCondition("www"), url)); 310 EXPECT_FALSE(Matches(factory.CreateQuerySuffixCondition("www"), url));
311 // "Suffix" condition + pattern starting with '?' = "equals" condition. 311 // "Suffix" condition + pattern starting with '?' = "equals" condition.
312 EXPECT_FALSE(Matches(factory.CreateQuerySuffixCondition( 312 EXPECT_FALSE(Matches(factory.CreateQuerySuffixCondition(
313 "?sourceid=chrome-instant&ie=UTF-8&ion="), url)); 313 "?sourceid=chrome-instant&ie=UTF-8&ion="), url));
314 EXPECT_TRUE(Matches(factory.CreateQuerySuffixCondition( 314 EXPECT_TRUE(Matches(factory.CreateQuerySuffixCondition(
315 "?sourceid=chrome-instant&ie=UTF-8&ion=1"), url)); 315 "?sourceid=chrome-instant&ie=UTF-8&ion=1"), url));
316 316
317 EXPECT_FALSE(Matches(factory.CreateQueryEqualsCondition( 317 EXPECT_FALSE(Matches(factory.CreateQueryEqualsCondition(
318 "?sourceid=chrome-instant&ie=UTF-8&ion="), url)); 318 "?sourceid=chrome-instant&ie=UTF-8&ion="), url));
319 EXPECT_FALSE(Matches(factory.CreateQueryEqualsCondition( 319 EXPECT_FALSE(Matches(factory.CreateQueryEqualsCondition(
320 "sourceid=chrome-instant&ie=UTF-8&ion="), url)); 320 "sourceid=chrome-instant&ie=UTF-8&ion="), url));
321 EXPECT_TRUE(Matches(factory.CreateQueryEqualsCondition( 321 EXPECT_TRUE(Matches(factory.CreateQueryEqualsCondition(
322 "sourceid=chrome-instant&ie=UTF-8&ion=1"), url)); 322 "sourceid=chrome-instant&ie=UTF-8&ion=1"), url));
323 // The '?' at the beginning is just ignored. 323 // The '?' at the beginning is just ignored.
324 EXPECT_TRUE(Matches(factory.CreateQueryEqualsCondition( 324 EXPECT_TRUE(Matches(factory.CreateQueryEqualsCondition(
325 "?sourceid=chrome-instant&ie=UTF-8&ion=1"), url)); 325 "?sourceid=chrome-instant&ie=UTF-8&ion=1"), url));
326 EXPECT_FALSE( 326 EXPECT_FALSE(
327 Matches(factory.CreateQueryEqualsCondition("www.google.com"), url)); 327 Matches(factory.CreateQueryEqualsCondition("www.google.com"), url));
328 328
329 329
330 // Test adjacent components 330 // Test adjacent components
331 EXPECT_TRUE(Matches(factory.CreateHostSuffixPathPrefixCondition( 331 EXPECT_TRUE(Matches(factory.CreateHostSuffixPathPrefixCondition(
332 "google.com", "/webhp"), url)); 332 "google.com", "/webhp"), url));
333 EXPECT_TRUE(Matches(factory.CreateHostSuffixPathPrefixCondition( 333 EXPECT_TRUE(Matches(
334 "", "/webhp"), url)); 334 factory.CreateHostSuffixPathPrefixCondition(std::string(), "/webhp"),
335 EXPECT_TRUE(Matches(factory.CreateHostSuffixPathPrefixCondition( 335 url));
336 "google.com", ""), url)); 336 EXPECT_TRUE(Matches(
337 EXPECT_FALSE(Matches(factory.CreateHostSuffixPathPrefixCondition( 337 factory.CreateHostSuffixPathPrefixCondition("google.com", std::string()),
338 "www", ""), url)); 338 url));
339 EXPECT_FALSE(Matches(
340 factory.CreateHostSuffixPathPrefixCondition("www", std::string()), url));
339 341
340 EXPECT_TRUE(Matches(factory.CreateHostEqualsPathPrefixCondition( 342 EXPECT_TRUE(Matches(factory.CreateHostEqualsPathPrefixCondition(
341 "www.google.com", "/webhp"), url)); 343 "www.google.com", "/webhp"), url));
342 EXPECT_FALSE(Matches(factory.CreateHostEqualsPathPrefixCondition( 344 EXPECT_FALSE(Matches(
343 "", "/webhp"), url)); 345 factory.CreateHostEqualsPathPrefixCondition(std::string(), "/webhp"),
346 url));
344 EXPECT_TRUE(Matches(factory.CreateHostEqualsPathPrefixCondition( 347 EXPECT_TRUE(Matches(factory.CreateHostEqualsPathPrefixCondition(
345 "www.google.com", ""), url)); 348 "www.google.com", std::string()),
346 EXPECT_FALSE(Matches(factory.CreateHostEqualsPathPrefixCondition( 349 url));
347 "google.com", ""), url)); 350 EXPECT_FALSE(Matches(
351 factory.CreateHostEqualsPathPrefixCondition("google.com", std::string()),
352 url));
348 } 353 }
349 354
350 TEST(URLMatcherConditionFactoryTest, TestFullSearches) { 355 TEST(URLMatcherConditionFactoryTest, TestFullSearches) {
351 // The Port 443 is stripped because it is the default port for https. 356 // The Port 443 is stripped because it is the default port for https.
352 GURL gurl("https://www.google.com:443/webhp?sourceid=chrome-instant&ie=UTF-8" 357 GURL gurl("https://www.google.com:443/webhp?sourceid=chrome-instant&ie=UTF-8"
353 "&ion=1#hl=en&output=search&sclient=psy-ab&q=chrome%20is%20awesome"); 358 "&ion=1#hl=en&output=search&sclient=psy-ab&q=chrome%20is%20awesome");
354 URLMatcherConditionFactory factory; 359 URLMatcherConditionFactory factory;
355 std::string url = factory.CanonicalizeURLForFullSearches(gurl); 360 std::string url = factory.CanonicalizeURLForFullSearches(gurl);
356 361
357 EXPECT_TRUE(Matches(factory.CreateURLPrefixCondition(""), url)); 362 EXPECT_TRUE(Matches(factory.CreateURLPrefixCondition(std::string()), url));
358 EXPECT_TRUE(Matches(factory.CreateURLPrefixCondition( 363 EXPECT_TRUE(
359 "https://www.goog"), url)); 364 Matches(factory.CreateURLPrefixCondition("https://www.goog"), url));
360 EXPECT_TRUE(Matches(factory.CreateURLPrefixCondition( 365 EXPECT_TRUE(Matches(factory.CreateURLPrefixCondition(
361 "https://www.google.com"), url)); 366 "https://www.google.com"), url));
362 EXPECT_TRUE(Matches(factory.CreateURLPrefixCondition( 367 EXPECT_TRUE(Matches(factory.CreateURLPrefixCondition(
363 "https://www.google.com/webhp?"), url)); 368 "https://www.google.com/webhp?"), url));
364 EXPECT_FALSE(Matches(factory.CreateURLPrefixCondition( 369 EXPECT_FALSE(Matches(factory.CreateURLPrefixCondition(
365 "http://www.google.com"), url)); 370 "http://www.google.com"), url));
366 EXPECT_FALSE(Matches(factory.CreateURLPrefixCondition("webhp"), url)); 371 EXPECT_FALSE(Matches(factory.CreateURLPrefixCondition("webhp"), url));
367 372
368 EXPECT_TRUE(Matches(factory.CreateURLSuffixCondition(""), url)); 373 EXPECT_TRUE(Matches(factory.CreateURLSuffixCondition(std::string()), url));
369 EXPECT_TRUE(Matches(factory.CreateURLSuffixCondition("ion=1"), url)); 374 EXPECT_TRUE(Matches(factory.CreateURLSuffixCondition("ion=1"), url));
370 EXPECT_FALSE(Matches(factory.CreateURLSuffixCondition("www"), url)); 375 EXPECT_FALSE(Matches(factory.CreateURLSuffixCondition("www"), url));
371 376
372 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition(""), url)); 377 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition(std::string()), url));
373 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("www.goog"), url)); 378 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("www.goog"), url));
374 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("webhp"), url)); 379 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("webhp"), url));
375 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("?"), url)); 380 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("?"), url));
376 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("sourceid"), url)); 381 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("sourceid"), url));
377 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("ion=1"), url)); 382 EXPECT_TRUE(Matches(factory.CreateURLContainsCondition("ion=1"), url));
378 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition(".www.goog"), url)); 383 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition(".www.goog"), url));
379 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition("foobar"), url)); 384 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition("foobar"), url));
380 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition("search"), url)); 385 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition("search"), url));
381 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition(":443"), url)); 386 EXPECT_FALSE(Matches(factory.CreateURLContainsCondition(":443"), url));
382 387
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 625
621 const int kConditionSetId = 1; 626 const int kConditionSetId = 1;
622 URLMatcherConditionSet::Vector insert; 627 URLMatcherConditionSet::Vector insert;
623 insert.push_back(make_scoped_refptr( 628 insert.push_back(make_scoped_refptr(
624 new URLMatcherConditionSet(kConditionSetId, conditions))); 629 new URLMatcherConditionSet(kConditionSetId, conditions)));
625 matcher.AddConditionSets(insert); 630 matcher.AddConditionSets(insert);
626 EXPECT_EQ(1u, matcher.MatchURL(url).size()); 631 EXPECT_EQ(1u, matcher.MatchURL(url).size());
627 } 632 }
628 633
629 } // namespace extensions 634 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/common/matcher/url_matcher_factory.cc ('k') | google_apis/gaia/gaia_auth_fetcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698