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

Side by Side Diff: extensions/browser/extension_registry_unittest.cc

Issue 131743021: app_shell: Extract extension runtime data from ExtensionService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add ExtensionRegistry observer (runtime_data) Created 6 years, 11 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 | Annotate | Revision Log
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 "extensions/browser/extension_registry.h" 5 #include "extensions/browser/extension_registry.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "extensions/common/extension.h" 10 #include "extensions/common/extension.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 // Clearing the registry clears all sets. 43 // Clearing the registry clears all sets.
44 registry.ClearAll(); 44 registry.ClearAll();
45 45
46 EXPECT_EQ(0u, registry.enabled_extensions().size()); 46 EXPECT_EQ(0u, registry.enabled_extensions().size());
47 EXPECT_EQ(0u, registry.disabled_extensions().size()); 47 EXPECT_EQ(0u, registry.disabled_extensions().size());
48 EXPECT_EQ(0u, registry.terminated_extensions().size()); 48 EXPECT_EQ(0u, registry.terminated_extensions().size());
49 EXPECT_EQ(0u, registry.blacklisted_extensions().size()); 49 EXPECT_EQ(0u, registry.blacklisted_extensions().size());
50 } 50 }
51 51
52 // A simple test of adding and removing things from sets. 52 // A simple test of adding and removing things from sets.
53 TEST_F(ExtensionRegistryTest, AddAndRemoveExtensionFromRegistry) { 53 TEST_F(ExtensionRegistryTest, AddExtensionToRegistry) {
54 ExtensionRegistry registry; 54 ExtensionRegistry registry;
55 55
56 // Adding an extension works. 56 // Adding an extension works.
57 scoped_refptr<Extension> extension = test_util::CreateExtensionWithID("id"); 57 scoped_refptr<Extension> extension = test_util::CreateExtensionWithID("id");
58 EXPECT_TRUE(registry.AddEnabled(extension)); 58 EXPECT_TRUE(registry.AddEnabled(extension));
59 EXPECT_EQ(1u, registry.enabled_extensions().size()); 59 EXPECT_EQ(1u, registry.enabled_extensions().size());
60 60
61 // The extension was only added to one set. 61 // The extension was only added to one set.
62 EXPECT_EQ(0u, registry.disabled_extensions().size()); 62 EXPECT_EQ(0u, registry.disabled_extensions().size());
63 EXPECT_EQ(0u, registry.terminated_extensions().size()); 63 EXPECT_EQ(0u, registry.terminated_extensions().size());
64 EXPECT_EQ(0u, registry.blacklisted_extensions().size()); 64 EXPECT_EQ(0u, registry.blacklisted_extensions().size());
65
66 // Removing an extension works.
67 EXPECT_TRUE(registry.RemoveEnabled(extension->id()));
68 EXPECT_EQ(0u, registry.enabled_extensions().size());
69
70 // Trying to remove an extension that isn't in the set fails cleanly.
71 EXPECT_FALSE(registry.RemoveEnabled(extension->id()));
72 } 65 }
73 66
74 TEST_F(ExtensionRegistryTest, AddExtensionToRegistryTwice) { 67 TEST_F(ExtensionRegistryTest, AddExtensionToRegistryTwice) {
75 ExtensionRegistry registry; 68 ExtensionRegistry registry;
76 scoped_refptr<Extension> extension = test_util::CreateExtensionWithID("id"); 69 scoped_refptr<Extension> extension = test_util::CreateExtensionWithID("id");
77 70
78 // An extension can exist in two sets at once. It would be nice to eliminate 71 // An extension can exist in two sets at once. It would be nice to eliminate
79 // this functionality, but some users of ExtensionRegistry need it. 72 // this functionality, but some users of ExtensionRegistry need it.
80 EXPECT_TRUE(registry.AddEnabled(extension)); 73 EXPECT_TRUE(registry.AddEnabled(extension));
81 EXPECT_TRUE(registry.AddDisabled(extension)); 74 EXPECT_TRUE(registry.AddDisabled(extension));
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 151
159 // Enabled can be found with multiple flags set. 152 // Enabled can be found with multiple flags set.
160 EXPECT_TRUE(registry.GetExtensionById( 153 EXPECT_TRUE(registry.GetExtensionById(
161 "enabled", ExtensionRegistry::ENABLED | ExtensionRegistry::TERMINATED)); 154 "enabled", ExtensionRegistry::ENABLED | ExtensionRegistry::TERMINATED));
162 155
163 // Enabled isn't found if the wrong flags are set. 156 // Enabled isn't found if the wrong flags are set.
164 EXPECT_FALSE(registry.GetExtensionById( 157 EXPECT_FALSE(registry.GetExtensionById(
165 "enabled", ExtensionRegistry::DISABLED | ExtensionRegistry::BLACKLISTED)); 158 "enabled", ExtensionRegistry::DISABLED | ExtensionRegistry::BLACKLISTED));
166 } 159 }
167 160
161 TEST_F(ExtensionRegistryTest, UnloadExtension) {
162 ExtensionRegistry registry;
163 scoped_refptr<Extension> extension = test_util::CreateExtensionWithID("id");
164
165 // Unloading an extension removes it from the enabled set.
166 registry.AddEnabled(extension);
167 ASSERT_EQ(1u, registry.enabled_extensions().size());
168 registry.UnloadExtension(extension);
169 EXPECT_EQ(0u, registry.enabled_extensions().size());
170
171 // Unloading an extension removes it from the disabled set.
172 registry.AddDisabled(extension);
173 ASSERT_EQ(1u, registry.disabled_extensions().size());
174 registry.UnloadExtension(extension);
175 EXPECT_EQ(0u, registry.disabled_extensions().size());
176 }
177
178 TEST_F(ExtensionRegistryTest, EnableExtension) {
179 ExtensionRegistry registry;
180 scoped_refptr<Extension> extension = test_util::CreateExtensionWithID("id");
181
182 // Enabling an extension moves it from disabled to enabled.
183 registry.AddDisabled(extension);
184 ASSERT_EQ(1u, registry.disabled_extensions().size());
185 registry.EnableExtension(extension);
186 EXPECT_EQ(1u, registry.enabled_extensions().size());
187 EXPECT_EQ(0u, registry.disabled_extensions().size());
188 }
189
190 TEST_F(ExtensionRegistryTest, DisableExtension) {
191 ExtensionRegistry registry;
192 scoped_refptr<Extension> extension = test_util::CreateExtensionWithID("id");
193
194 // Disabling an extension moves it from enabled to disabled.
195 registry.AddEnabled(extension);
196 ASSERT_EQ(1u, registry.enabled_extensions().size());
197 registry.DisableExtension(extension);
198 EXPECT_EQ(0u, registry.enabled_extensions().size());
199 EXPECT_EQ(1u, registry.disabled_extensions().size());
200
201 registry.ClearAll();
202
203 // Disabling an extension moves it from terminated to disabled.
204 registry.AddTerminated(extension);
205 ASSERT_EQ(1u, registry.terminated_extensions().size());
206 registry.DisableExtension(extension);
207 EXPECT_EQ(0u, registry.terminated_extensions().size());
208 EXPECT_EQ(1u, registry.disabled_extensions().size());
209 }
210
168 } // namespace 211 } // namespace
169 } // namespace extensions 212 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698