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

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

Issue 7275018: Make ExtensionContentSettingsStore refcounted. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 5 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/extensions/extension_content_settings_store.h" 5 #include "chrome/browser/extensions/extension_content_settings_store.h"
6 6
7 #include "testing/gmock/include/gmock/gmock.h" 7 #include "testing/gmock/include/gmock/gmock.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 using ::testing::Mock; 10 using ::testing::Mock;
(...skipping 11 matching lines...) Expand all
22 22
23 private: 23 private:
24 int64 internal_; 24 int64 internal_;
25 }; 25 };
26 26
27 class MockExtensionContentSettingsStoreObserver 27 class MockExtensionContentSettingsStoreObserver
28 : public ExtensionContentSettingsStore::Observer { 28 : public ExtensionContentSettingsStore::Observer {
29 public: 29 public:
30 MOCK_METHOD2(OnContentSettingChanged, 30 MOCK_METHOD2(OnContentSettingChanged,
31 void(const std::string& extension_id, bool incognito)); 31 void(const std::string& extension_id, bool incognito));
32 MOCK_METHOD0(OnDestruction, void());
33 }; 32 };
34 33
35 } 34 }
36 35
37 TEST(ExtensionContentSettingsStoreTest, RegisterUnregister) { 36 TEST(ExtensionContentSettingsStoreTest, RegisterUnregister) {
38 FakeTimer timer; 37 FakeTimer timer;
39 38
40 ::testing::StrictMock<MockExtensionContentSettingsStoreObserver> observer; 39 ::testing::StrictMock<MockExtensionContentSettingsStoreObserver> observer;
41 40
42 ExtensionContentSettingsStore map; 41 scoped_refptr<ExtensionContentSettingsStore> map(
43 map.AddObserver(&observer); 42 new ExtensionContentSettingsStore());
43 map->AddObserver(&observer);
44 44
45 GURL url("http://www.youtube.com"); 45 GURL url("http://www.youtube.com");
46 46
47 EXPECT_EQ(CONTENT_SETTING_DEFAULT, 47 EXPECT_EQ(CONTENT_SETTING_DEFAULT,
48 map.GetEffectiveContentSetting( 48 map->GetEffectiveContentSetting(
49 url, 49 url,
50 url, 50 url,
51 CONTENT_SETTINGS_TYPE_COOKIES, 51 CONTENT_SETTINGS_TYPE_COOKIES,
52 "", 52 "",
53 false)); 53 false));
54 54
55 // Register first extension 55 // Register first extension
56 std::string ext_id("my_extension"); 56 std::string ext_id("my_extension");
57 base::Time time_1 = timer.GetNext(); 57 base::Time time_1 = timer.GetNext();
58 map.RegisterExtension(ext_id, time_1, true); 58 map->RegisterExtension(ext_id, time_1, true);
59 59
60 EXPECT_EQ(CONTENT_SETTING_DEFAULT, 60 EXPECT_EQ(CONTENT_SETTING_DEFAULT,
61 map.GetEffectiveContentSetting( 61 map->GetEffectiveContentSetting(
62 url, 62 url,
63 url, 63 url,
64 CONTENT_SETTINGS_TYPE_COOKIES, 64 CONTENT_SETTINGS_TYPE_COOKIES,
65 "", 65 "",
66 false)); 66 false));
67 67
68 // Set setting 68 // Set setting
69 ContentSettingsPattern pattern = 69 ContentSettingsPattern pattern =
70 ContentSettingsPattern::FromURL(GURL("http://www.youtube.com")); 70 ContentSettingsPattern::FromURL(GURL("http://www.youtube.com"));
71 EXPECT_CALL(observer, OnContentSettingChanged(ext_id, false)); 71 EXPECT_CALL(observer, OnContentSettingChanged(ext_id, false));
72 map.SetExtensionContentSetting( 72 map->SetExtensionContentSetting(
73 ext_id, 73 ext_id,
74 pattern, 74 pattern,
75 pattern, 75 pattern,
76 CONTENT_SETTINGS_TYPE_COOKIES, 76 CONTENT_SETTINGS_TYPE_COOKIES,
77 "", 77 "",
78 CONTENT_SETTING_ALLOW, 78 CONTENT_SETTING_ALLOW,
79 kExtensionPrefsScopeRegular); 79 kExtensionPrefsScopeRegular);
80 Mock::VerifyAndClear(&observer); 80 Mock::VerifyAndClear(&observer);
81 81
82 EXPECT_EQ(CONTENT_SETTING_ALLOW, 82 EXPECT_EQ(CONTENT_SETTING_ALLOW,
83 map.GetEffectiveContentSetting( 83 map->GetEffectiveContentSetting(
84 url, 84 url,
85 url, 85 url,
86 CONTENT_SETTINGS_TYPE_COOKIES, 86 CONTENT_SETTINGS_TYPE_COOKIES,
87 "", 87 "",
88 false)); 88 false));
89 89
90 // Register second extension. 90 // Register second extension.
91 std::string ext_id_2("my_second_extension"); 91 std::string ext_id_2("my_second_extension");
92 base::Time time_2 = timer.GetNext(); 92 base::Time time_2 = timer.GetNext();
93 map.RegisterExtension(ext_id_2, time_2, true); 93 map->RegisterExtension(ext_id_2, time_2, true);
94 EXPECT_CALL(observer, OnContentSettingChanged(ext_id_2, false)); 94 EXPECT_CALL(observer, OnContentSettingChanged(ext_id_2, false));
95 map.SetExtensionContentSetting( 95 map->SetExtensionContentSetting(
96 ext_id_2, 96 ext_id_2,
97 pattern, 97 pattern,
98 pattern, 98 pattern,
99 CONTENT_SETTINGS_TYPE_COOKIES, 99 CONTENT_SETTINGS_TYPE_COOKIES,
100 "", 100 "",
101 CONTENT_SETTING_BLOCK, 101 CONTENT_SETTING_BLOCK,
102 kExtensionPrefsScopeRegular); 102 kExtensionPrefsScopeRegular);
103 103
104 EXPECT_EQ(CONTENT_SETTING_BLOCK, 104 EXPECT_EQ(CONTENT_SETTING_BLOCK,
105 map.GetEffectiveContentSetting( 105 map->GetEffectiveContentSetting(
106 url, 106 url,
107 url, 107 url,
108 CONTENT_SETTINGS_TYPE_COOKIES, 108 CONTENT_SETTINGS_TYPE_COOKIES,
109 "", 109 "",
110 false)); 110 false));
111 111
112 // Unregister first extension. This shouldn't change the setting. 112 // Unregister first extension. This shouldn't change the setting.
113 EXPECT_CALL(observer, OnContentSettingChanged(ext_id, false)); 113 EXPECT_CALL(observer, OnContentSettingChanged(ext_id, false));
114 map.UnregisterExtension(ext_id); 114 map->UnregisterExtension(ext_id);
115 EXPECT_EQ(CONTENT_SETTING_BLOCK, 115 EXPECT_EQ(CONTENT_SETTING_BLOCK,
116 map.GetEffectiveContentSetting( 116 map->GetEffectiveContentSetting(
117 url, 117 url,
118 url, 118 url,
119 CONTENT_SETTINGS_TYPE_COOKIES, 119 CONTENT_SETTINGS_TYPE_COOKIES,
120 "", 120 "",
121 false)); 121 false));
122 Mock::VerifyAndClear(&observer); 122 Mock::VerifyAndClear(&observer);
123 123
124 // Unregister second extension. This should reset the setting to its default 124 // Unregister second extension. This should reset the setting to its default
125 // value. 125 // value.
126 EXPECT_CALL(observer, OnContentSettingChanged(ext_id_2, false)); 126 EXPECT_CALL(observer, OnContentSettingChanged(ext_id_2, false));
127 map.UnregisterExtension(ext_id_2); 127 map->UnregisterExtension(ext_id_2);
128 EXPECT_EQ(CONTENT_SETTING_DEFAULT, 128 EXPECT_EQ(CONTENT_SETTING_DEFAULT,
129 map.GetEffectiveContentSetting( 129 map->GetEffectiveContentSetting(
130 url, 130 url,
131 url, 131 url,
132 CONTENT_SETTINGS_TYPE_COOKIES, 132 CONTENT_SETTINGS_TYPE_COOKIES,
133 "", 133 "",
134 false)); 134 false));
135 Mock::VerifyAndClear(&observer);
136 135
137 EXPECT_CALL(observer, OnDestruction()); 136 map->RemoveObserver(&observer);
138 } 137 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_content_settings_store.cc ('k') | chrome/browser/extensions/extension_prefs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698