| 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 #include <utility> |
| 8 | 9 |
| 9 #include "base/macros.h" | 10 #include "base/macros.h" |
| 10 #include "base/strings/string_util.h" | 11 #include "base/strings/string_util.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
| 12 #include "url/gurl.h" | 13 #include "url/gurl.h" |
| 13 | 14 |
| 14 namespace url_matcher { | 15 namespace url_matcher { |
| 15 | 16 |
| 16 // | 17 // |
| 17 // URLMatcherCondition | 18 // URLMatcherCondition |
| (...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 scoped_ptr<URLMatcherSchemeFilter>( | 492 scoped_ptr<URLMatcherSchemeFilter>( |
| 492 new URLMatcherSchemeFilter("http")), | 493 new URLMatcherSchemeFilter("http")), |
| 493 scoped_ptr<URLMatcherPortFilter>())); | 494 scoped_ptr<URLMatcherPortFilter>())); |
| 494 EXPECT_TRUE(condition_set3->IsMatch(matching_patterns, url1)); | 495 EXPECT_TRUE(condition_set3->IsMatch(matching_patterns, url1)); |
| 495 | 496 |
| 496 // Test port filters. | 497 // Test port filters. |
| 497 std::vector<URLMatcherPortFilter::Range> ranges; | 498 std::vector<URLMatcherPortFilter::Range> ranges; |
| 498 ranges.push_back(URLMatcherPortFilter::CreateRange(80)); | 499 ranges.push_back(URLMatcherPortFilter::CreateRange(80)); |
| 499 scoped_ptr<URLMatcherPortFilter> filter(new URLMatcherPortFilter(ranges)); | 500 scoped_ptr<URLMatcherPortFilter> filter(new URLMatcherPortFilter(ranges)); |
| 500 scoped_refptr<URLMatcherConditionSet> condition_set4( | 501 scoped_refptr<URLMatcherConditionSet> condition_set4( |
| 501 new URLMatcherConditionSet( | 502 new URLMatcherConditionSet(1, conditions, |
| 502 1, conditions, scoped_ptr<URLMatcherSchemeFilter>(), filter.Pass())); | 503 scoped_ptr<URLMatcherSchemeFilter>(), |
| 504 std::move(filter))); |
| 503 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url1)); | 505 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url1)); |
| 504 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url3)); | 506 EXPECT_TRUE(condition_set4->IsMatch(matching_patterns, url3)); |
| 505 EXPECT_FALSE(condition_set4->IsMatch(matching_patterns, url4)); | 507 EXPECT_FALSE(condition_set4->IsMatch(matching_patterns, url4)); |
| 506 | 508 |
| 507 // Test regex patterns. | 509 // Test regex patterns. |
| 508 matching_patterns.clear(); | 510 matching_patterns.clear(); |
| 509 URLMatcherCondition r1 = factory.CreateURLMatchesCondition("/fo?oo"); | 511 URLMatcherCondition r1 = factory.CreateURLMatchesCondition("/fo?oo"); |
| 510 std::set<URLMatcherCondition> regex_conditions; | 512 std::set<URLMatcherCondition> regex_conditions; |
| 511 regex_conditions.insert(r1); | 513 regex_conditions.insert(r1); |
| 512 scoped_refptr<URLMatcherConditionSet> condition_set5( | 514 scoped_refptr<URLMatcherConditionSet> condition_set5( |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 556 query_element_type, | 558 query_element_type, |
| 557 match_type, | 559 match_type, |
| 558 &factory); | 560 &factory); |
| 559 URLMatcherConditionSet::QueryConditions query_conditions; | 561 URLMatcherConditionSet::QueryConditions query_conditions; |
| 560 query_conditions.insert(q1); | 562 query_conditions.insert(q1); |
| 561 | 563 |
| 562 scoped_ptr<URLMatcherSchemeFilter> scheme_filter; | 564 scoped_ptr<URLMatcherSchemeFilter> scheme_filter; |
| 563 scoped_ptr<URLMatcherPortFilter> port_filter; | 565 scoped_ptr<URLMatcherPortFilter> port_filter; |
| 564 | 566 |
| 565 scoped_refptr<URLMatcherConditionSet> condition_set( | 567 scoped_refptr<URLMatcherConditionSet> condition_set( |
| 566 new URLMatcherConditionSet(1, | 568 new URLMatcherConditionSet(1, conditions, query_conditions, |
| 567 conditions, | 569 std::move(scheme_filter), |
| 568 query_conditions, | 570 std::move(port_filter))); |
| 569 scheme_filter.Pass(), | |
| 570 port_filter.Pass())); | |
| 571 | 571 |
| 572 GURL url("http://www.example.com/foo?" + url_query); | 572 GURL url("http://www.example.com/foo?" + url_query); |
| 573 | 573 |
| 574 URLMatcher matcher; | 574 URLMatcher matcher; |
| 575 URLMatcherConditionSet::Vector vector; | 575 URLMatcherConditionSet::Vector vector; |
| 576 vector.push_back(condition_set); | 576 vector.push_back(condition_set); |
| 577 matcher.AddConditionSets(vector); | 577 matcher.AddConditionSets(vector); |
| 578 | 578 |
| 579 return matcher.MatchURL(url).size() == 1; | 579 return matcher.MatchURL(url).size() == 1; |
| 580 } | 580 } |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 980 conditions.insert(factory->CreateOriginAndPathMatchesCondition("val")); | 980 conditions.insert(factory->CreateOriginAndPathMatchesCondition("val")); |
| 981 const int kConditionSetId = 1; | 981 const int kConditionSetId = 1; |
| 982 URLMatcherConditionSet::Vector insert; | 982 URLMatcherConditionSet::Vector insert; |
| 983 insert.push_back(make_scoped_refptr( | 983 insert.push_back(make_scoped_refptr( |
| 984 new URLMatcherConditionSet(kConditionSetId, conditions))); | 984 new URLMatcherConditionSet(kConditionSetId, conditions))); |
| 985 matcher.AddConditionSets(insert); | 985 matcher.AddConditionSets(insert); |
| 986 EXPECT_EQ(0u, matcher.MatchURL(url).size()); | 986 EXPECT_EQ(0u, matcher.MatchURL(url).size()); |
| 987 } | 987 } |
| 988 | 988 |
| 989 } // namespace url_matcher | 989 } // namespace url_matcher |
| OLD | NEW |