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

Side by Side Diff: extensions/browser/api/declarative/declarative_rule_unittest.cc

Issue 899983002: Revert of Introduce HostID and de-couple Extensions from "script injection System" [browser side] (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 10 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "extensions/browser/api/declarative/declarative_rule.h" 5 #include "extensions/browser/api/declarative/declarative_rule.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/test/values_test_util.h" 9 #include "base/test/values_test_util.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 212
213 class SummingAction : public base::RefCounted<SummingAction> { 213 class SummingAction : public base::RefCounted<SummingAction> {
214 public: 214 public:
215 typedef int ApplyInfo; 215 typedef int ApplyInfo;
216 216
217 SummingAction(int increment, int min_priority) 217 SummingAction(int increment, int min_priority)
218 : increment_(increment), min_priority_(min_priority) {} 218 : increment_(increment), min_priority_(min_priority) {}
219 219
220 static scoped_refptr<const SummingAction> Create( 220 static scoped_refptr<const SummingAction> Create(
221 content::BrowserContext* browser_context, 221 content::BrowserContext* browser_context,
222 const HostID& host_id,
223 const Extension* extension, 222 const Extension* extension,
224 const base::Value& action, 223 const base::Value& action,
225 std::string* error, 224 std::string* error,
226 bool* bad_message) { 225 bool* bad_message) {
227 int increment = 0; 226 int increment = 0;
228 int min_priority = 0; 227 int min_priority = 0;
229 const base::DictionaryValue* dict = NULL; 228 const base::DictionaryValue* dict = NULL;
230 EXPECT_TRUE(action.GetAsDictionary(&dict)); 229 EXPECT_TRUE(action.GetAsDictionary(&dict));
231 if (dict->HasKey("error")) { 230 if (dict->HasKey("error")) {
232 EXPECT_TRUE(dict->GetString("error", error)); 231 EXPECT_TRUE(dict->GetString("error", error));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 typedef DeclarativeActionSet<SummingAction> SummingActionSet; 263 typedef DeclarativeActionSet<SummingAction> SummingActionSet;
265 264
266 TEST(DeclarativeActionTest, ErrorActionSet) { 265 TEST(DeclarativeActionTest, ErrorActionSet) {
267 SummingActionSet::AnyVector actions; 266 SummingActionSet::AnyVector actions;
268 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"value\": 1}"))); 267 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"value\": 1}")));
269 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"error\": \"the error\"}"))); 268 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"error\": \"the error\"}")));
270 269
271 std::string error; 270 std::string error;
272 bool bad = false; 271 bool bad = false;
273 scoped_ptr<SummingActionSet> result = 272 scoped_ptr<SummingActionSet> result =
274 SummingActionSet::Create(NULL, HostID(), NULL, actions, &error, &bad); 273 SummingActionSet::Create(NULL, NULL, actions, &error, &bad);
275 EXPECT_EQ("the error", error); 274 EXPECT_EQ("the error", error);
276 EXPECT_FALSE(bad); 275 EXPECT_FALSE(bad);
277 EXPECT_FALSE(result); 276 EXPECT_FALSE(result);
278 277
279 actions.clear(); 278 actions.clear();
280 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"value\": 1}"))); 279 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"value\": 1}")));
281 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"bad\": 3}"))); 280 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"bad\": 3}")));
282 result = SummingActionSet::Create( 281 result = SummingActionSet::Create(NULL, NULL, actions, &error, &bad);
283 NULL, HostID(), NULL, actions, &error, &bad);
284 EXPECT_EQ("", error); 282 EXPECT_EQ("", error);
285 EXPECT_TRUE(bad); 283 EXPECT_TRUE(bad);
286 EXPECT_FALSE(result); 284 EXPECT_FALSE(result);
287 } 285 }
288 286
289 TEST(DeclarativeActionTest, ApplyActionSet) { 287 TEST(DeclarativeActionTest, ApplyActionSet) {
290 SummingActionSet::AnyVector actions; 288 SummingActionSet::AnyVector actions;
291 actions.push_back(ScopedToLinkedPtr(ParseJson( 289 actions.push_back(ScopedToLinkedPtr(ParseJson(
292 "{\"value\": 1," 290 "{\"value\": 1,"
293 " \"priority\": 5}"))); 291 " \"priority\": 5}")));
294 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"value\": 2}"))); 292 actions.push_back(ScopedToLinkedPtr(ParseJson("{\"value\": 2}")));
295 293
296 // Test insertion 294 // Test insertion
297 std::string error; 295 std::string error;
298 bool bad = false; 296 bool bad = false;
299 scoped_ptr<SummingActionSet> result = 297 scoped_ptr<SummingActionSet> result =
300 SummingActionSet::Create(NULL, HostID(), NULL, actions, &error, &bad); 298 SummingActionSet::Create(NULL, NULL, actions, &error, &bad);
301 EXPECT_EQ("", error); 299 EXPECT_EQ("", error);
302 EXPECT_FALSE(bad); 300 EXPECT_FALSE(bad);
303 ASSERT_TRUE(result); 301 ASSERT_TRUE(result);
304 EXPECT_EQ(2u, result->actions().size()); 302 EXPECT_EQ(2u, result->actions().size());
305 303
306 int sum = 0; 304 int sum = 0;
307 result->Apply("ext_id", base::Time(), &sum); 305 result->Apply("ext_id", base::Time(), &sum);
308 EXPECT_EQ(3, sum); 306 EXPECT_EQ(3, sum);
309 EXPECT_EQ(5, result->GetMinimumPriority()); 307 EXPECT_EQ(5, result->GetMinimumPriority());
310 } 308 }
(...skipping 20 matching lines...) Expand all
331 const char kExtensionId[] = "ext1"; 329 const char kExtensionId[] = "ext1";
332 scoped_refptr<Extension> extension = ExtensionBuilder() 330 scoped_refptr<Extension> extension = ExtensionBuilder()
333 .SetManifest(SimpleManifest()) 331 .SetManifest(SimpleManifest())
334 .SetID(kExtensionId) 332 .SetID(kExtensionId)
335 .Build(); 333 .Build();
336 334
337 base::Time install_time = base::Time::Now(); 335 base::Time install_time = base::Time::Now();
338 336
339 URLMatcher matcher; 337 URLMatcher matcher;
340 std::string error; 338 std::string error;
341 scoped_ptr<Rule> rule( 339 scoped_ptr<Rule> rule(Rule::Create(matcher.condition_factory(),
342 Rule::Create(matcher.condition_factory(), 340 NULL,
343 NULL, 341 extension.get(),
344 HostID(HostID::EXTENSIONS, extension.get()->id()), 342 install_time,
345 extension.get(), 343 json_rule,
346 install_time, 344 Rule::ConsistencyChecker(),
347 json_rule, 345 &error));
348 Rule::ConsistencyChecker(),
349 &error));
350 EXPECT_EQ("", error); 346 EXPECT_EQ("", error);
351 ASSERT_TRUE(rule.get()); 347 ASSERT_TRUE(rule.get());
352 348
353 EXPECT_EQ(kExtensionId, rule->id().first); 349 EXPECT_EQ(kExtensionId, rule->id().first);
354 EXPECT_EQ("rule1", rule->id().second); 350 EXPECT_EQ("rule1", rule->id().second);
355 351
356 EXPECT_EQ(200, rule->priority()); 352 EXPECT_EQ(200, rule->priority());
357 353
358 const Rule::ConditionSet& condition_set = rule->conditions(); 354 const Rule::ConditionSet& condition_set = rule->conditions();
359 const Rule::ConditionSet::Conditions& conditions = 355 const Rule::ConditionSet::Conditions& conditions =
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 " {\"url_id\": 2, \"max\": 5}, \n" 398 " {\"url_id\": 2, \"max\": 5}, \n"
403 " ], \n" 399 " ], \n"
404 " \"actions\": [ \n" 400 " \"actions\": [ \n"
405 " { \n" 401 " { \n"
406 " \"value\": 2 \n" 402 " \"value\": 2 \n"
407 " } \n" 403 " } \n"
408 " ], \n" 404 " ], \n"
409 " \"priority\": 200 \n" 405 " \"priority\": 200 \n"
410 "}"), 406 "}"),
411 json_rule.get())); 407 json_rule.get()));
412 scoped_ptr<Rule> rule( 408 scoped_ptr<Rule> rule(Rule::Create(matcher.condition_factory(),
413 Rule::Create(matcher.condition_factory(), 409 NULL,
414 NULL, 410 extension.get(),
415 HostID(HostID::EXTENSIONS, extension.get()->id()), 411 base::Time(),
416 extension.get(), 412 json_rule,
417 base::Time(), 413 base::Bind(AtLeastOneCondition),
418 json_rule, 414 &error));
419 base::Bind(AtLeastOneCondition),
420 &error));
421 EXPECT_TRUE(rule); 415 EXPECT_TRUE(rule);
422 EXPECT_EQ("", error); 416 EXPECT_EQ("", error);
423 417
424 ASSERT_TRUE(Rule::JsonRule::Populate( 418 ASSERT_TRUE(Rule::JsonRule::Populate(
425 *ParseJson("{ \n" 419 *ParseJson("{ \n"
426 " \"id\": \"rule1\", \n" 420 " \"id\": \"rule1\", \n"
427 " \"conditions\": [ \n" 421 " \"conditions\": [ \n"
428 " ], \n" 422 " ], \n"
429 " \"actions\": [ \n" 423 " \"actions\": [ \n"
430 " { \n" 424 " { \n"
431 " \"value\": 2 \n" 425 " \"value\": 2 \n"
432 " } \n" 426 " } \n"
433 " ], \n" 427 " ], \n"
434 " \"priority\": 200 \n" 428 " \"priority\": 200 \n"
435 "}"), 429 "}"),
436 json_rule.get())); 430 json_rule.get()));
437 rule = Rule::Create(matcher.condition_factory(), 431 rule = Rule::Create(matcher.condition_factory(),
438 NULL, 432 NULL,
439 HostID(HostID::EXTENSIONS, extension.get()->id()),
440 extension.get(), 433 extension.get(),
441 base::Time(), 434 base::Time(),
442 json_rule, 435 json_rule,
443 base::Bind(AtLeastOneCondition), 436 base::Bind(AtLeastOneCondition),
444 &error); 437 &error);
445 EXPECT_FALSE(rule); 438 EXPECT_FALSE(rule);
446 EXPECT_EQ("No conditions", error); 439 EXPECT_EQ("No conditions", error);
447 } 440 }
448 441
449 } // namespace extensions 442 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698