| 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_factory.h" | 5 #include "components/url_matcher/url_matcher_factory.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 | 27 |
| 28 std::string error; | 28 std::string error; |
| 29 scoped_refptr<URLMatcherConditionSet> result; | 29 scoped_refptr<URLMatcherConditionSet> result; |
| 30 | 30 |
| 31 // Invalid key: {"invalid": "foobar"} | 31 // Invalid key: {"invalid": "foobar"} |
| 32 base::DictionaryValue invalid_condition; | 32 base::DictionaryValue invalid_condition; |
| 33 invalid_condition.SetString("invalid", "foobar"); | 33 invalid_condition.SetString("invalid", "foobar"); |
| 34 | 34 |
| 35 // Invalid value type: {"hostSuffix": []} | 35 // Invalid value type: {"hostSuffix": []} |
| 36 base::DictionaryValue invalid_condition2; | 36 base::DictionaryValue invalid_condition2; |
| 37 invalid_condition2.Set(keys::kHostSuffixKey, new base::ListValue); | 37 invalid_condition2.Set(keys::kHostSuffixKey, |
| 38 base::MakeUnique<base::ListValue>()); |
| 38 | 39 |
| 39 // Invalid regex value: {"urlMatches": "*"} | 40 // Invalid regex value: {"urlMatches": "*"} |
| 40 base::DictionaryValue invalid_condition3; | 41 base::DictionaryValue invalid_condition3; |
| 41 invalid_condition3.SetString(keys::kURLMatchesKey, "*"); | 42 invalid_condition3.SetString(keys::kURLMatchesKey, "*"); |
| 42 | 43 |
| 43 // Invalid regex value: {"originAndPathMatches": "*"} | 44 // Invalid regex value: {"originAndPathMatches": "*"} |
| 44 base::DictionaryValue invalid_condition4; | 45 base::DictionaryValue invalid_condition4; |
| 45 invalid_condition4.SetString(keys::kOriginAndPathMatchesKey, "*"); | 46 invalid_condition4.SetString(keys::kOriginAndPathMatchesKey, "*"); |
| 46 | 47 |
| 47 // Valid values: | 48 // Valid values: |
| 48 // { | 49 // { |
| 49 // "port_range": [80, [1000, 1010]], | 50 // "port_range": [80, [1000, 1010]], |
| 50 // "schemes": ["http"], | 51 // "schemes": ["http"], |
| 51 // "hostSuffix": "example.com" | 52 // "hostSuffix": "example.com" |
| 52 // "hostPrefix": "www" | 53 // "hostPrefix": "www" |
| 53 // } | 54 // } |
| 54 | 55 |
| 55 // Port range: Allow 80;1000-1010. | 56 // Port range: Allow 80;1000-1010. |
| 56 std::unique_ptr<base::ListValue> port_range(new base::ListValue()); | 57 auto port_range = base::MakeUnique<base::ListValue>(); |
| 57 port_range->AppendInteger(1000); | 58 port_range->AppendInteger(1000); |
| 58 port_range->AppendInteger(1010); | 59 port_range->AppendInteger(1010); |
| 59 base::ListValue* port_ranges = new base::ListValue(); | 60 auto port_ranges = base::MakeUnique<base::ListValue>(); |
| 60 port_ranges->AppendInteger(80); | 61 port_ranges->AppendInteger(80); |
| 61 port_ranges->Append(std::move(port_range)); | 62 port_ranges->Append(std::move(port_range)); |
| 62 | 63 |
| 63 base::ListValue* scheme_list = new base::ListValue(); | 64 auto scheme_list = base::MakeUnique<base::ListValue>(); |
| 64 scheme_list->AppendString("http"); | 65 scheme_list->AppendString("http"); |
| 65 | 66 |
| 66 base::DictionaryValue valid_condition; | 67 base::DictionaryValue valid_condition; |
| 67 valid_condition.SetString(keys::kHostSuffixKey, "example.com"); | 68 valid_condition.SetString(keys::kHostSuffixKey, "example.com"); |
| 68 valid_condition.SetString(keys::kHostPrefixKey, "www"); | 69 valid_condition.SetString(keys::kHostPrefixKey, "www"); |
| 69 valid_condition.Set(keys::kPortsKey, port_ranges); | 70 valid_condition.Set(keys::kPortsKey, std::move(port_ranges)); |
| 70 valid_condition.Set(keys::kSchemesKey, scheme_list); | 71 valid_condition.Set(keys::kSchemesKey, std::move(scheme_list)); |
| 71 | 72 |
| 72 // Test wrong condition name passed. | 73 // Test wrong condition name passed. |
| 73 error.clear(); | 74 error.clear(); |
| 74 result = URLMatcherFactory::CreateFromURLFilterDictionary( | 75 result = URLMatcherFactory::CreateFromURLFilterDictionary( |
| 75 matcher.condition_factory(), &invalid_condition, 1, &error); | 76 matcher.condition_factory(), &invalid_condition, 1, &error); |
| 76 EXPECT_FALSE(error.empty()); | 77 EXPECT_FALSE(error.empty()); |
| 77 EXPECT_FALSE(result.get()); | 78 EXPECT_FALSE(result.get()); |
| 78 | 79 |
| 79 // Test wrong datatype in hostSuffix. | 80 // Test wrong datatype in hostSuffix. |
| 80 error.clear(); | 81 error.clear(); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 | 136 |
| 136 // {"hostPrefix": "WWw."} | 137 // {"hostPrefix": "WWw."} |
| 137 base::DictionaryValue invalid_condition3; | 138 base::DictionaryValue invalid_condition3; |
| 138 invalid_condition3.SetString(keys::kHostPrefixKey, "WWw."); | 139 invalid_condition3.SetString(keys::kHostPrefixKey, "WWw."); |
| 139 | 140 |
| 140 // {"hostEquals": "WWW.example.Com"} | 141 // {"hostEquals": "WWW.example.Com"} |
| 141 base::DictionaryValue invalid_condition4; | 142 base::DictionaryValue invalid_condition4; |
| 142 invalid_condition4.SetString(keys::kHostEqualsKey, "WWW.example.Com"); | 143 invalid_condition4.SetString(keys::kHostEqualsKey, "WWW.example.Com"); |
| 143 | 144 |
| 144 // {"scheme": ["HTTP"]} | 145 // {"scheme": ["HTTP"]} |
| 145 base::ListValue* scheme_list = new base::ListValue(); | 146 auto scheme_list = base::MakeUnique<base::ListValue>(); |
| 146 scheme_list->AppendString("HTTP"); | 147 scheme_list->AppendString("HTTP"); |
| 147 base::DictionaryValue invalid_condition5; | 148 base::DictionaryValue invalid_condition5; |
| 148 invalid_condition5.Set(keys::kSchemesKey, scheme_list); | 149 invalid_condition5.Set(keys::kSchemesKey, std::move(scheme_list)); |
| 149 | 150 |
| 150 const base::DictionaryValue* invalid_conditions[] = { | 151 const base::DictionaryValue* invalid_conditions[] = { |
| 151 &invalid_condition1, | 152 &invalid_condition1, |
| 152 &invalid_condition2, | 153 &invalid_condition2, |
| 153 &invalid_condition3, | 154 &invalid_condition3, |
| 154 &invalid_condition4, | 155 &invalid_condition4, |
| 155 &invalid_condition5 | 156 &invalid_condition5 |
| 156 }; | 157 }; |
| 157 | 158 |
| 158 for (size_t i = 0; i < arraysize(invalid_conditions); ++i) { | 159 for (size_t i = 0; i < arraysize(invalid_conditions); ++i) { |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 kIsUrlCaseSensitive, kIsUrlLowerCaseEnforced, url), | 337 kIsUrlCaseSensitive, kIsUrlLowerCaseEnforced, url), |
| 337 }; | 338 }; |
| 338 | 339 |
| 339 for (size_t i = 0; i < arraysize(case_tests); ++i) { | 340 for (size_t i = 0; i < arraysize(case_tests); ++i) { |
| 340 SCOPED_TRACE(base::StringPrintf("Iteration: %" PRIuS, i)); | 341 SCOPED_TRACE(base::StringPrintf("Iteration: %" PRIuS, i)); |
| 341 case_tests[i].Test(); | 342 case_tests[i].Test(); |
| 342 } | 343 } |
| 343 } | 344 } |
| 344 | 345 |
| 345 } // namespace url_matcher | 346 } // namespace url_matcher |
| OLD | NEW |