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

Side by Side Diff: components/url_matcher/url_matcher_factory_unittest.cc

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

Powered by Google App Engine
This is Rietveld 408576698