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

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

Issue 2798503002: Extensions: Pull duplicated functionality into ExtensionsTest fixture. (Closed)
Patch Set: Nits Created 3 years, 8 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 "extensions/browser/event_router.h" 5 #include "extensions/browser/event_router.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/test/histogram_tester.h" 15 #include "base/test/histogram_tester.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "components/pref_registry/pref_registry_syncable.h"
18 #include "components/prefs/pref_service_factory.h"
19 #include "components/prefs/testing_pref_store.h"
20 #include "content/public/browser/browser_context.h" 17 #include "content/public/browser/browser_context.h"
21 #include "content/public/test/mock_render_process_host.h" 18 #include "content/public/test/mock_render_process_host.h"
22 #include "content/public/test/test_browser_thread_bundle.h" 19 #include "content/public/test/test_browser_thread_bundle.h"
23 #include "extensions/browser/event_listener_map.h" 20 #include "extensions/browser/event_listener_map.h"
24 #include "extensions/browser/extension_pref_value_map.h"
25 #include "extensions/browser/extension_prefs.h"
26 #include "extensions/browser/extension_prefs_factory.h"
27 #include "extensions/browser/extensions_test.h" 21 #include "extensions/browser/extensions_test.h"
28 #include "extensions/common/extension_builder.h" 22 #include "extensions/common/extension_builder.h"
29 #include "extensions/common/test_util.h" 23 #include "extensions/common/test_util.h"
30 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
31 25
32 using base::DictionaryValue; 26 using base::DictionaryValue;
33 using base::ListValue; 27 using base::ListValue;
34 using base::Value; 28 using base::Value;
35 29
36 namespace extensions { 30 namespace extensions {
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 181
188 DISALLOW_COPY_AND_ASSIGN(EventRouterTest); 182 DISALLOW_COPY_AND_ASSIGN(EventRouterTest);
189 }; 183 };
190 184
191 class EventRouterFilterTest : public ExtensionsTest { 185 class EventRouterFilterTest : public ExtensionsTest {
192 public: 186 public:
193 EventRouterFilterTest() {} 187 EventRouterFilterTest() {}
194 188
195 void SetUp() override { 189 void SetUp() override {
196 ExtensionsTest::SetUp(); 190 ExtensionsTest::SetUp();
197
198 render_process_host_.reset( 191 render_process_host_.reset(
199 new content::MockRenderProcessHost(browser_context())); 192 new content::MockRenderProcessHost(browser_context()));
200
201 // Set up all the dependencies of ExtensionPrefs.
202 extension_pref_value_map_.reset(new ExtensionPrefValueMap());
203 PrefServiceFactory factory;
204 factory.set_user_prefs(new TestingPrefStore());
205 factory.set_extension_prefs(new TestingPrefStore());
206 user_prefs::PrefRegistrySyncable* pref_registry =
207 new user_prefs::PrefRegistrySyncable();
208 // Prefs should be registered before the PrefService is created.
209 ExtensionPrefs::RegisterProfilePrefs(pref_registry);
210 pref_service_ = factory.Create(pref_registry);
211
212 std::unique_ptr<ExtensionPrefs> extension_prefs(ExtensionPrefs::Create(
213 browser_context(), pref_service_.get(),
214 browser_context()->GetPath().AppendASCII("Extensions"),
215 extension_pref_value_map_.get(), false /* extensions_disabled */,
216 std::vector<ExtensionPrefsObserver*>()));
217
218 ExtensionPrefsFactory::GetInstance()->SetInstanceForTesting(
219 browser_context(), std::move(extension_prefs));
220
221 ASSERT_TRUE(EventRouter::Get(browser_context())); // constructs EventRouter 193 ASSERT_TRUE(EventRouter::Get(browser_context())); // constructs EventRouter
222 } 194 }
223 195
224 void TearDown() override { 196 void TearDown() override {
225 render_process_host_.reset(); 197 render_process_host_.reset();
226 ExtensionsTest::TearDown(); 198 ExtensionsTest::TearDown();
227 } 199 }
228 200
229 content::RenderProcessHost* render_process_host() const { 201 content::RenderProcessHost* render_process_host() const {
230 return render_process_host_.get(); 202 return render_process_host_.get();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 DictionaryValue::Iterator iter(*filtered_events); 237 DictionaryValue::Iterator iter(*filtered_events);
266 if (iter.key() != event_name) 238 if (iter.key() != event_name)
267 return nullptr; 239 return nullptr;
268 240
269 const base::ListValue* filter_list = nullptr; 241 const base::ListValue* filter_list = nullptr;
270 iter.value().GetAsList(&filter_list); 242 iter.value().GetAsList(&filter_list);
271 return filter_list; 243 return filter_list;
272 } 244 }
273 245
274 std::unique_ptr<content::RenderProcessHost> render_process_host_; 246 std::unique_ptr<content::RenderProcessHost> render_process_host_;
275 std::unique_ptr<ExtensionPrefValueMap> extension_pref_value_map_;
276 std::unique_ptr<PrefService> pref_service_;
277 247
278 DISALLOW_COPY_AND_ASSIGN(EventRouterFilterTest); 248 DISALLOW_COPY_AND_ASSIGN(EventRouterFilterTest);
279 }; 249 };
280 250
281 TEST_F(EventRouterTest, GetBaseEventName) { 251 TEST_F(EventRouterTest, GetBaseEventName) {
282 // Normal event names are passed through unchanged. 252 // Normal event names are passed through unchanged.
283 EXPECT_EQ("foo.onBar", EventRouter::GetBaseEventName("foo.onBar")); 253 EXPECT_EQ("foo.onBar", EventRouter::GetBaseEventName("foo.onBar"));
284 254
285 // Sub-events are converted to the part before the slash. 255 // Sub-events are converted to the part before the slash.
286 EXPECT_EQ("foo.onBar", EventRouter::GetBaseEventName("foo.onBar/123")); 256 EXPECT_EQ("foo.onBar", EventRouter::GetBaseEventName("foo.onBar/123"));
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 410
441 // Remove the third filter. 411 // Remove the third filter.
442 event_router()->RemoveFilteredEventListener(kEventName, render_process_host(), 412 event_router()->RemoveFilteredEventListener(kEventName, render_process_host(),
443 kExtensionId, *filters[2], true); 413 kExtensionId, *filters[2], true);
444 ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[0])); 414 ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[0]));
445 ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[1])); 415 ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[1]));
446 ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[2])); 416 ASSERT_FALSE(ContainsFilter(kExtensionId, kEventName, *filters[2]));
447 } 417 }
448 418
449 } // namespace extensions 419 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/browser/app_window/app_window_geometry_cache_unittest.cc ('k') | extensions/browser/extensions_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698