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 "components/url_matcher/url_matcher.h" | 5 #include "components/url_matcher/url_matcher.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 |
| 9 #include <memory> |
8 #include <utility> | 10 #include <utility> |
9 | 11 |
10 #include "base/macros.h" | 12 #include "base/macros.h" |
11 #include "base/strings/string_util.h" | 13 #include "base/strings/string_util.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
13 #include "url/gurl.h" | 15 #include "url/gurl.h" |
14 | 16 |
15 namespace url_matcher { | 17 namespace url_matcher { |
16 | 18 |
17 // | 19 // |
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 std::set<StringPattern::ID> matching_patterns; | 475 std::set<StringPattern::ID> matching_patterns; |
474 matching_patterns.insert(m1.string_pattern()->id()); | 476 matching_patterns.insert(m1.string_pattern()->id()); |
475 EXPECT_FALSE(condition_set->IsMatch(matching_patterns, url1)); | 477 EXPECT_FALSE(condition_set->IsMatch(matching_patterns, url1)); |
476 | 478 |
477 matching_patterns.insert(m2.string_pattern()->id()); | 479 matching_patterns.insert(m2.string_pattern()->id()); |
478 EXPECT_TRUE(condition_set->IsMatch(matching_patterns, url1)); | 480 EXPECT_TRUE(condition_set->IsMatch(matching_patterns, url1)); |
479 EXPECT_FALSE(condition_set->IsMatch(matching_patterns, url2)); | 481 EXPECT_FALSE(condition_set->IsMatch(matching_patterns, url2)); |
480 | 482 |
481 // Test scheme filters. | 483 // Test scheme filters. |
482 scoped_refptr<URLMatcherConditionSet> condition_set2( | 484 scoped_refptr<URLMatcherConditionSet> condition_set2( |
483 new URLMatcherConditionSet(1, | 485 new URLMatcherConditionSet(1, conditions, |
484 conditions, | 486 std::unique_ptr<URLMatcherSchemeFilter>( |
485 scoped_ptr<URLMatcherSchemeFilter>( | |
486 new URLMatcherSchemeFilter("https")), | 487 new URLMatcherSchemeFilter("https")), |
487 scoped_ptr<URLMatcherPortFilter>())); | 488 std::unique_ptr<URLMatcherPortFilter>())); |
488 EXPECT_FALSE(condition_set2->IsMatch(matching_patterns, url1)); | 489 EXPECT_FALSE(condition_set2->IsMatch(matching_patterns, url1)); |
489 scoped_refptr<URLMatcherConditionSet> condition_set3( | 490 scoped_refptr<URLMatcherConditionSet> condition_set3( |
490 new URLMatcherConditionSet(1, | 491 new URLMatcherConditionSet(1, conditions, |
491 conditions, | 492 std::unique_ptr<URLMatcherSchemeFilter>( |
492 scoped_ptr<URLMatcherSchemeFilter>( | |
493 new URLMatcherSchemeFilter("http")), | 493 new URLMatcherSchemeFilter("http")), |
494 scoped_ptr<URLMatcherPortFilter>())); | 494 std::unique_ptr<URLMatcherPortFilter>())); |
495 EXPECT_TRUE(condition_set3->IsMatch(matching_patterns, url1)); | 495 EXPECT_TRUE(condition_set3->IsMatch(matching_patterns, url1)); |
496 | 496 |
497 // Test port filters. | 497 // Test port filters. |
498 std::vector<URLMatcherPortFilter::Range> ranges; | 498 std::vector<URLMatcherPortFilter::Range> ranges; |
499 ranges.push_back(URLMatcherPortFilter::CreateRange(80)); | 499 ranges.push_back(URLMatcherPortFilter::CreateRange(80)); |
500 scoped_ptr<URLMatcherPortFilter> filter(new URLMatcherPortFilter(ranges)); | 500 std::unique_ptr<URLMatcherPortFilter> filter( |
| 501 new URLMatcherPortFilter(ranges)); |
501 scoped_refptr<URLMatcherConditionSet> condition_set4( | 502 scoped_refptr<URLMatcherConditionSet> condition_set4( |
502 new URLMatcherConditionSet(1, conditions, | 503 new URLMatcherConditionSet(1, conditions, |
503 scoped_ptr<URLMatcherSchemeFilter>(), | 504 std::unique_ptr<URLMatcherSchemeFilter>(), |
504 std::move(filter))); | 505 std::move(filter))); |
505 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url1)); | 506 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url1)); |
506 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url3)); | 507 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url3)); |
507 EXPECT_FALSE(condition_set4->IsMatch(matching_patterns, url4)); | 508 EXPECT_FALSE(condition_set4->IsMatch(matching_patterns, url4)); |
508 | 509 |
509 // Test regex patterns. | 510 // Test regex patterns. |
510 matching_patterns.clear(); | 511 matching_patterns.clear(); |
511 URLMatcherCondition r1 = factory.CreateURLMatchesCondition("/fo?oo"); | 512 URLMatcherCondition r1 = factory.CreateURLMatchesCondition("/fo?oo"); |
512 std::set<URLMatcherCondition> regex_conditions; | 513 std::set<URLMatcherCondition> regex_conditions; |
513 regex_conditions.insert(r1); | 514 regex_conditions.insert(r1); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
554 | 555 |
555 URLQueryElementMatcherCondition q1(key, | 556 URLQueryElementMatcherCondition q1(key, |
556 value, | 557 value, |
557 query_value_match_type, | 558 query_value_match_type, |
558 query_element_type, | 559 query_element_type, |
559 match_type, | 560 match_type, |
560 &factory); | 561 &factory); |
561 URLMatcherConditionSet::QueryConditions query_conditions; | 562 URLMatcherConditionSet::QueryConditions query_conditions; |
562 query_conditions.insert(q1); | 563 query_conditions.insert(q1); |
563 | 564 |
564 scoped_ptr<URLMatcherSchemeFilter> scheme_filter; | 565 std::unique_ptr<URLMatcherSchemeFilter> scheme_filter; |
565 scoped_ptr<URLMatcherPortFilter> port_filter; | 566 std::unique_ptr<URLMatcherPortFilter> port_filter; |
566 | 567 |
567 scoped_refptr<URLMatcherConditionSet> condition_set( | 568 scoped_refptr<URLMatcherConditionSet> condition_set( |
568 new URLMatcherConditionSet(1, conditions, query_conditions, | 569 new URLMatcherConditionSet(1, conditions, query_conditions, |
569 std::move(scheme_filter), | 570 std::move(scheme_filter), |
570 std::move(port_filter))); | 571 std::move(port_filter))); |
571 | 572 |
572 GURL url("http://www.example.com/foo?" + url_query); | 573 GURL url("http://www.example.com/foo?" + url_query); |
573 | 574 |
574 URLMatcher matcher; | 575 URLMatcher matcher; |
575 URLMatcherConditionSet::Vector vector; | 576 URLMatcherConditionSet::Vector vector; |
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
980 conditions.insert(factory->CreateOriginAndPathMatchesCondition("val")); | 981 conditions.insert(factory->CreateOriginAndPathMatchesCondition("val")); |
981 const int kConditionSetId = 1; | 982 const int kConditionSetId = 1; |
982 URLMatcherConditionSet::Vector insert; | 983 URLMatcherConditionSet::Vector insert; |
983 insert.push_back(make_scoped_refptr( | 984 insert.push_back(make_scoped_refptr( |
984 new URLMatcherConditionSet(kConditionSetId, conditions))); | 985 new URLMatcherConditionSet(kConditionSetId, conditions))); |
985 matcher.AddConditionSets(insert); | 986 matcher.AddConditionSets(insert); |
986 EXPECT_EQ(0u, matcher.MatchURL(url).size()); | 987 EXPECT_EQ(0u, matcher.MatchURL(url).size()); |
987 } | 988 } |
988 | 989 |
989 } // namespace url_matcher | 990 } // namespace url_matcher |
OLD | NEW |