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

Side by Side Diff: chrome/browser/extensions/blacklist_unittest.cc

Issue 11415216: Make Blacklist::IsBlacklist asynchronous (it will need to be for safe (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/message_loop.h"
6 #include "chrome/browser/extensions/blacklist.h"
7 #include "chrome/browser/extensions/extension_prefs.h"
8 #include "chrome/browser/extensions/test_blacklist.h"
9 #include "chrome/browser/extensions/test_extension_prefs.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 namespace extensions {
13 namespace {
14
15 class BlacklistTest : public testing::Test {
16 public:
17 BlacklistTest()
18 : prefs_(message_loop_.message_loop_proxy()),
19 blacklist_(prefs_.prefs()) {
20 }
21
22 bool IsBlacklisted(const Extension* extension) {
23 return TestBlacklist(&blacklist_).IsBlacklisted(extension->id());
24 }
25
26 void SetFromUpdater(const std::vector<std::string>& ids,
27 const std::string& version) {
28 blacklist_.SetFromUpdater(ids, version);
29 }
30
31 protected:
32 MessageLoop message_loop_;
33
34 TestExtensionPrefs prefs_;
35
36 Blacklist blacklist_;
37 };
38
39 TEST_F(BlacklistTest, SetFromUpdater) {
40 scoped_refptr<const Extension> extension_a = prefs_.AddExtension("a");
41 scoped_refptr<const Extension> extension_b = prefs_.AddExtension("b");
42 scoped_refptr<const Extension> extension_c = prefs_.AddExtension("c");
43 scoped_refptr<const Extension> extension_d = prefs_.AddExtension("d");
44
45 // c, d, start blacklisted.
46 prefs_.prefs()->SetExtensionBlacklisted(extension_c->id(), true);
47 prefs_.prefs()->SetExtensionBlacklisted(extension_d->id(), true);
48
49 EXPECT_FALSE(IsBlacklisted(extension_a));
50 EXPECT_FALSE(IsBlacklisted(extension_b));
51 EXPECT_TRUE(IsBlacklisted(extension_c));
52 EXPECT_TRUE(IsBlacklisted(extension_d));
53
54 // Mix up the blacklist.
55 {
56 std::vector<std::string> blacklist;
57 blacklist.push_back(extension_b->id());
58 blacklist.push_back(extension_c->id());
59 SetFromUpdater(blacklist, "1");
60 }
61 EXPECT_FALSE(IsBlacklisted(extension_a));
62 EXPECT_TRUE(IsBlacklisted(extension_b));
63 EXPECT_TRUE(IsBlacklisted(extension_c));
64 EXPECT_FALSE(IsBlacklisted(extension_d));
65
66 // No-op, just in case.
67 {
68 std::vector<std::string> blacklist;
69 blacklist.push_back(extension_b->id());
70 blacklist.push_back(extension_c->id());
71 SetFromUpdater(blacklist, "2");
72 }
73 EXPECT_FALSE(IsBlacklisted(extension_a));
74 EXPECT_TRUE(IsBlacklisted(extension_b));
75 EXPECT_TRUE(IsBlacklisted(extension_c));
76 EXPECT_FALSE(IsBlacklisted(extension_d));
77
78 // Strictly increase the blacklist.
79 {
80 std::vector<std::string> blacklist;
81 blacklist.push_back(extension_a->id());
82 blacklist.push_back(extension_b->id());
83 blacklist.push_back(extension_c->id());
84 blacklist.push_back(extension_d->id());
85 SetFromUpdater(blacklist, "3");
86 }
87 EXPECT_TRUE(IsBlacklisted(extension_a));
88 EXPECT_TRUE(IsBlacklisted(extension_b));
89 EXPECT_TRUE(IsBlacklisted(extension_c));
90 EXPECT_TRUE(IsBlacklisted(extension_d));
91
92 // Strictly decrease the blacklist.
93 {
94 std::vector<std::string> blacklist;
95 blacklist.push_back(extension_a->id());
96 blacklist.push_back(extension_b->id());
97 SetFromUpdater(blacklist, "4");
98 }
99 EXPECT_TRUE(IsBlacklisted(extension_a));
100 EXPECT_TRUE(IsBlacklisted(extension_b));
101 EXPECT_FALSE(IsBlacklisted(extension_c));
102 EXPECT_FALSE(IsBlacklisted(extension_d));
103
104 // Clear the blacklist.
105 {
106 std::vector<std::string> blacklist;
107 SetFromUpdater(blacklist, "5");
108 }
109 EXPECT_FALSE(IsBlacklisted(extension_a));
110 EXPECT_FALSE(IsBlacklisted(extension_b));
111 EXPECT_FALSE(IsBlacklisted(extension_c));
112 EXPECT_FALSE(IsBlacklisted(extension_d));
113 }
114
115 } // namespace extensions
116 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698