OLD | NEW |
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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/extensions/extension_pref_value_map.h" | 9 #include "chrome/browser/extensions/extension_pref_value_map.h" |
10 #include "chrome/common/pref_store_observer_mock.h" | 10 #include "chrome/common/pref_store_observer_mock.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 | 59 |
60 MOCK_METHOD1(OnPrefValueChanged, void(const std::string&)); | 60 MOCK_METHOD1(OnPrefValueChanged, void(const std::string&)); |
61 MOCK_METHOD0(OnInitializationCompleted, void()); | 61 MOCK_METHOD0(OnInitializationCompleted, void()); |
62 MOCK_METHOD0(OnExtensionPrefValueMapDestruction, void()); | 62 MOCK_METHOD0(OnExtensionPrefValueMapDestruction, void()); |
63 | 63 |
64 private: | 64 private: |
65 DISALLOW_COPY_AND_ASSIGN(ExtensionPrefValueMapObserverMock); | 65 DISALLOW_COPY_AND_ASSIGN(ExtensionPrefValueMapObserverMock); |
66 }; | 66 }; |
67 | 67 |
68 TEST_F(ExtensionPrefValueMapTest, SetAndGetPrefValue) { | 68 TEST_F(ExtensionPrefValueMapTest, SetAndGetPrefValue) { |
| 69 using namespace extension_prefs_scope; |
69 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 70 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
70 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 71 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
71 EXPECT_EQ("val1", GetValue(kPref1, false)); | 72 EXPECT_EQ("val1", GetValue(kPref1, false)); |
72 }; | 73 }; |
73 | 74 |
74 TEST_F(ExtensionPrefValueMapTest, GetNotSetPrefValue) { | 75 TEST_F(ExtensionPrefValueMapTest, GetNotSetPrefValue) { |
75 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 76 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
76 EXPECT_EQ("", GetValue(kPref1, false)); | 77 EXPECT_EQ("", GetValue(kPref1, false)); |
77 }; | 78 }; |
78 | 79 |
79 // Make sure the last-installed extension wins for each preference. | 80 // Make sure the last-installed extension wins for each preference. |
80 TEST_F(ExtensionPrefValueMapTest, Override) { | 81 TEST_F(ExtensionPrefValueMapTest, Override) { |
| 82 using namespace extension_prefs_scope; |
81 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 83 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
82 epvm_.RegisterExtension(kExt2, CreateTime(20), true); | 84 epvm_.RegisterExtension(kExt2, CreateTime(20), true); |
83 epvm_.RegisterExtension(kExt3, CreateTime(30), true); | 85 epvm_.RegisterExtension(kExt3, CreateTime(30), true); |
84 | 86 |
85 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 87 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
86 epvm_.SetExtensionPref(kExt2, kPref1, false, CreateVal("val2")); | 88 epvm_.SetExtensionPref(kExt2, kPref1, kRegular, CreateVal("val2")); |
87 epvm_.SetExtensionPref(kExt3, kPref1, false, CreateVal("val3")); | 89 epvm_.SetExtensionPref(kExt3, kPref1, kRegular, CreateVal("val3")); |
88 | 90 |
89 epvm_.SetExtensionPref(kExt1, kPref2, false, CreateVal("val4")); | 91 epvm_.SetExtensionPref(kExt1, kPref2, kRegular, CreateVal("val4")); |
90 epvm_.SetExtensionPref(kExt2, kPref2, false, CreateVal("val5")); | 92 epvm_.SetExtensionPref(kExt2, kPref2, kRegular, CreateVal("val5")); |
91 | 93 |
92 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val6")); | 94 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val6")); |
93 epvm_.SetExtensionPref(kExt1, kPref2, false, CreateVal("val7")); | 95 epvm_.SetExtensionPref(kExt1, kPref2, kRegular, CreateVal("val7")); |
94 epvm_.SetExtensionPref(kExt1, kPref3, false, CreateVal("val8")); | 96 epvm_.SetExtensionPref(kExt1, kPref3, kRegular, CreateVal("val8")); |
95 | 97 |
96 EXPECT_EQ("val3", GetValue(kPref1, false)); | 98 EXPECT_EQ("val3", GetValue(kPref1, false)); |
97 EXPECT_EQ("val5", GetValue(kPref2, false)); | 99 EXPECT_EQ("val5", GetValue(kPref2, false)); |
98 EXPECT_EQ("val8", GetValue(kPref3, false)); | 100 EXPECT_EQ("val8", GetValue(kPref3, false)); |
99 } | 101 } |
100 | 102 |
101 TEST_F(ExtensionPrefValueMapTest, OverrideChecks) { | 103 TEST_F(ExtensionPrefValueMapTest, OverrideChecks) { |
| 104 using namespace extension_prefs_scope; |
102 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 105 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
103 epvm_.RegisterExtension(kExt2, CreateTime(20), true); | 106 epvm_.RegisterExtension(kExt2, CreateTime(20), true); |
104 epvm_.RegisterExtension(kExt3, CreateTime(30), true); | 107 epvm_.RegisterExtension(kExt3, CreateTime(30), true); |
105 | 108 |
106 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt1, kPref1, false)); | 109 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt1, kPref1, false)); |
107 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt2, kPref1, false)); | 110 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt2, kPref1, false)); |
108 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt3, kPref1, false)); | 111 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt3, kPref1, false)); |
109 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt1, kPref1, false)); | 112 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt1, kPref1, false)); |
110 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt2, kPref1, false)); | 113 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt2, kPref1, false)); |
111 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt3, kPref1, false)); | 114 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt3, kPref1, false)); |
112 | 115 |
113 epvm_.SetExtensionPref(kExt2, kPref1, false, CreateVal("val1")); | 116 epvm_.SetExtensionPref(kExt2, kPref1, kRegular, CreateVal("val1")); |
114 | 117 |
115 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt1, kPref1, false)); | 118 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt1, kPref1, false)); |
116 EXPECT_TRUE(epvm_.DoesExtensionControlPref(kExt2, kPref1, false)); | 119 EXPECT_TRUE(epvm_.DoesExtensionControlPref(kExt2, kPref1, false)); |
117 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt3, kPref1, false)); | 120 EXPECT_FALSE(epvm_.DoesExtensionControlPref(kExt3, kPref1, false)); |
118 EXPECT_FALSE(epvm_.CanExtensionControlPref(kExt1, kPref1, false)); | 121 EXPECT_FALSE(epvm_.CanExtensionControlPref(kExt1, kPref1, false)); |
119 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt2, kPref1, false)); | 122 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt2, kPref1, false)); |
120 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt3, kPref1, false)); | 123 EXPECT_TRUE(epvm_.CanExtensionControlPref(kExt3, kPref1, false)); |
121 } | 124 } |
122 | 125 |
123 TEST_F(ExtensionPrefValueMapTest, SetAndGetPrefValueIncognito) { | 126 TEST_F(ExtensionPrefValueMapTest, SetAndGetPrefValueIncognito) { |
| 127 using namespace extension_prefs_scope; |
124 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 128 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
125 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 129 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
126 EXPECT_EQ("val1", GetValue(kPref1, true)); | 130 EXPECT_EQ("val1", GetValue(kPref1, true)); |
127 } | 131 } |
128 | 132 |
129 TEST_F(ExtensionPrefValueMapTest, UninstallOnlyExtension) { | 133 TEST_F(ExtensionPrefValueMapTest, UninstallOnlyExtension) { |
| 134 using namespace extension_prefs_scope; |
130 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 135 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
131 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 136 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
132 epvm_.UnregisterExtension(kExt1); | 137 epvm_.UnregisterExtension(kExt1); |
133 | 138 |
134 EXPECT_EQ("", GetValue(kPref1, false)); | 139 EXPECT_EQ("", GetValue(kPref1, false)); |
135 } | 140 } |
136 | 141 |
137 // Tests uninstalling an extension that wasn't winning for any preferences. | 142 // Tests uninstalling an extension that wasn't winning for any preferences. |
138 TEST_F(ExtensionPrefValueMapTest, UninstallIrrelevantExtension) { | 143 TEST_F(ExtensionPrefValueMapTest, UninstallIrrelevantExtension) { |
| 144 using namespace extension_prefs_scope; |
139 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 145 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
140 epvm_.RegisterExtension(kExt2, CreateTime(10), true); | 146 epvm_.RegisterExtension(kExt2, CreateTime(10), true); |
141 | 147 |
142 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 148 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
143 epvm_.SetExtensionPref(kExt2, kPref1, false, CreateVal("val2")); | 149 epvm_.SetExtensionPref(kExt2, kPref1, kRegular, CreateVal("val2")); |
144 | 150 |
145 epvm_.SetExtensionPref(kExt1, kPref2, false, CreateVal("val3")); | 151 epvm_.SetExtensionPref(kExt1, kPref2, kRegular, CreateVal("val3")); |
146 epvm_.SetExtensionPref(kExt2, kPref2, false, CreateVal("val4")); | 152 epvm_.SetExtensionPref(kExt2, kPref2, kRegular, CreateVal("val4")); |
147 | 153 |
148 epvm_.UnregisterExtension(kExt1); | 154 epvm_.UnregisterExtension(kExt1); |
149 | 155 |
150 EXPECT_EQ("val2", GetValue(kPref1, false)); | 156 EXPECT_EQ("val2", GetValue(kPref1, false)); |
151 EXPECT_EQ("val4", GetValue(kPref2, false)); | 157 EXPECT_EQ("val4", GetValue(kPref2, false)); |
152 } | 158 } |
153 | 159 |
154 // Tests uninstalling an extension that was winning for all preferences. | 160 // Tests uninstalling an extension that was winning for all preferences. |
155 TEST_F(ExtensionPrefValueMapTest, UninstallExtensionFromTop) { | 161 TEST_F(ExtensionPrefValueMapTest, UninstallExtensionFromTop) { |
| 162 using namespace extension_prefs_scope; |
156 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 163 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
157 epvm_.RegisterExtension(kExt2, CreateTime(20), true); | 164 epvm_.RegisterExtension(kExt2, CreateTime(20), true); |
158 epvm_.RegisterExtension(kExt3, CreateTime(30), true); | 165 epvm_.RegisterExtension(kExt3, CreateTime(30), true); |
159 | 166 |
160 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 167 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
161 epvm_.SetExtensionPref(kExt2, kPref1, false, CreateVal("val2")); | 168 epvm_.SetExtensionPref(kExt2, kPref1, kRegular, CreateVal("val2")); |
162 epvm_.SetExtensionPref(kExt3, kPref1, false, CreateVal("val3")); | 169 epvm_.SetExtensionPref(kExt3, kPref1, kRegular, CreateVal("val3")); |
163 | 170 |
164 epvm_.SetExtensionPref(kExt1, kPref2, false, CreateVal("val4")); | 171 epvm_.SetExtensionPref(kExt1, kPref2, kRegular, CreateVal("val4")); |
165 epvm_.SetExtensionPref(kExt3, kPref2, false, CreateVal("val5")); | 172 epvm_.SetExtensionPref(kExt3, kPref2, kRegular, CreateVal("val5")); |
166 | 173 |
167 epvm_.UnregisterExtension(kExt3); | 174 epvm_.UnregisterExtension(kExt3); |
168 | 175 |
169 EXPECT_EQ("val2", GetValue(kPref1, false)); | 176 EXPECT_EQ("val2", GetValue(kPref1, false)); |
170 EXPECT_EQ("val4", GetValue(kPref2, false)); | 177 EXPECT_EQ("val4", GetValue(kPref2, false)); |
171 } | 178 } |
172 | 179 |
173 // Tests uninstalling an extension that was winning for only some preferences. | 180 // Tests uninstalling an extension that was winning for only some preferences. |
174 TEST_F(ExtensionPrefValueMapTest, UninstallExtensionFromMiddle) { | 181 TEST_F(ExtensionPrefValueMapTest, UninstallExtensionFromMiddle) { |
| 182 using namespace extension_prefs_scope; |
175 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 183 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
176 epvm_.RegisterExtension(kExt2, CreateTime(20), true); | 184 epvm_.RegisterExtension(kExt2, CreateTime(20), true); |
177 epvm_.RegisterExtension(kExt3, CreateTime(30), true); | 185 epvm_.RegisterExtension(kExt3, CreateTime(30), true); |
178 | 186 |
179 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 187 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
180 epvm_.SetExtensionPref(kExt2, kPref1, false, CreateVal("val2")); | 188 epvm_.SetExtensionPref(kExt2, kPref1, kRegular, CreateVal("val2")); |
181 epvm_.SetExtensionPref(kExt3, kPref1, false, CreateVal("val3")); | 189 epvm_.SetExtensionPref(kExt3, kPref1, kRegular, CreateVal("val3")); |
182 | 190 |
183 epvm_.SetExtensionPref(kExt1, kPref2, false, CreateVal("val4")); | 191 epvm_.SetExtensionPref(kExt1, kPref2, kRegular, CreateVal("val4")); |
184 epvm_.SetExtensionPref(kExt2, kPref2, false, CreateVal("val5")); | 192 epvm_.SetExtensionPref(kExt2, kPref2, kRegular, CreateVal("val5")); |
185 | 193 |
186 epvm_.SetExtensionPref(kExt1, kPref3, false, CreateVal("val6")); | 194 epvm_.SetExtensionPref(kExt1, kPref3, kRegular, CreateVal("val6")); |
187 | 195 |
188 epvm_.SetExtensionPref(kExt2, kPref4, false, CreateVal("val7")); | 196 epvm_.SetExtensionPref(kExt2, kPref4, kRegular, CreateVal("val7")); |
189 | 197 |
190 epvm_.UnregisterExtension(kExt2); | 198 epvm_.UnregisterExtension(kExt2); |
191 | 199 |
192 EXPECT_EQ("val3", GetValue(kPref1, false)); | 200 EXPECT_EQ("val3", GetValue(kPref1, false)); |
193 EXPECT_EQ("val4", GetValue(kPref2, false)); | 201 EXPECT_EQ("val4", GetValue(kPref2, false)); |
194 EXPECT_EQ("val6", GetValue(kPref3, false)); | 202 EXPECT_EQ("val6", GetValue(kPref3, false)); |
195 EXPECT_EQ("", GetValue(kPref4, false)); | 203 EXPECT_EQ("", GetValue(kPref4, false)); |
196 } | 204 } |
197 | 205 |
198 // Tests triggering of notifications to registered observers. | 206 // Tests triggering of notifications to registered observers. |
199 TEST_F(ExtensionPrefValueMapTest, NotifyWhenNeeded) { | 207 TEST_F(ExtensionPrefValueMapTest, NotifyWhenNeeded) { |
200 using testing::_; | 208 using testing::_; |
201 using testing::Mock; | 209 using testing::Mock; |
202 using testing::StrEq; | 210 using testing::StrEq; |
| 211 using namespace extension_prefs_scope; |
203 | 212 |
204 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 213 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
205 | 214 |
206 ExtensionPrefValueMapObserverMock observer; | 215 ExtensionPrefValueMapObserverMock observer; |
207 epvm_.AddObserver(&observer); | 216 epvm_.AddObserver(&observer); |
208 | 217 |
209 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); | 218 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); |
210 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 219 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
211 Mock::VerifyAndClearExpectations(&observer); | 220 Mock::VerifyAndClearExpectations(&observer); |
212 | 221 |
213 // Write the same value again. | 222 // Write the same value again. |
214 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))).Times(0); | 223 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))).Times(0); |
215 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 224 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
216 Mock::VerifyAndClearExpectations(&observer); | 225 Mock::VerifyAndClearExpectations(&observer); |
217 | 226 |
218 // Override incognito value. | 227 // Override incognito value. |
219 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); | 228 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); |
220 epvm_.SetExtensionPref(kExt1, kPref1, true, CreateVal("val2")); | 229 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val2")); |
221 Mock::VerifyAndClearExpectations(&observer); | 230 Mock::VerifyAndClearExpectations(&observer); |
222 | 231 |
223 // Override non-incognito value. | 232 // Override non-incognito value. |
224 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); | 233 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); |
225 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val3")); | 234 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val3")); |
226 Mock::VerifyAndClearExpectations(&observer); | 235 Mock::VerifyAndClearExpectations(&observer); |
227 | 236 |
228 // Disable. | 237 // Disable. |
229 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); | 238 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); |
230 epvm_.SetExtensionState(kExt1, false); | 239 epvm_.SetExtensionState(kExt1, false); |
231 Mock::VerifyAndClearExpectations(&observer); | 240 Mock::VerifyAndClearExpectations(&observer); |
232 | 241 |
233 // Enable. | 242 // Enable. |
234 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); | 243 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); |
235 epvm_.SetExtensionState(kExt1, true); | 244 epvm_.SetExtensionState(kExt1, true); |
236 Mock::VerifyAndClearExpectations(&observer); | 245 Mock::VerifyAndClearExpectations(&observer); |
237 | 246 |
238 // Uninstall | 247 // Uninstall |
239 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); | 248 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))); |
240 epvm_.UnregisterExtension(kExt1); | 249 epvm_.UnregisterExtension(kExt1); |
241 Mock::VerifyAndClearExpectations(&observer); | 250 Mock::VerifyAndClearExpectations(&observer); |
242 | 251 |
243 epvm_.RemoveObserver(&observer); | 252 epvm_.RemoveObserver(&observer); |
244 | 253 |
245 // Write new value --> no notification after removing observer. | 254 // Write new value --> no notification after removing observer. |
246 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))).Times(0); | 255 EXPECT_CALL(observer, OnPrefValueChanged(std::string(kPref1))).Times(0); |
247 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 256 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
248 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val4")); | 257 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val4")); |
249 Mock::VerifyAndClearExpectations(&observer); | 258 Mock::VerifyAndClearExpectations(&observer); |
250 } | 259 } |
251 | 260 |
252 // Tests disabling an extension. | 261 // Tests disabling an extension. |
253 TEST_F(ExtensionPrefValueMapTest, DisableExt) { | 262 TEST_F(ExtensionPrefValueMapTest, DisableExt) { |
| 263 using namespace extension_prefs_scope; |
254 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 264 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
255 | 265 |
256 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 266 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
257 epvm_.SetExtensionState(kExt1, false); | 267 epvm_.SetExtensionState(kExt1, false); |
258 EXPECT_EQ("", GetValue(kPref1, false)); | 268 EXPECT_EQ("", GetValue(kPref1, false)); |
259 } | 269 } |
260 | 270 |
261 // Tests disabling and reenabling an extension. | 271 // Tests disabling and reenabling an extension. |
262 TEST_F(ExtensionPrefValueMapTest, ReenableExt) { | 272 TEST_F(ExtensionPrefValueMapTest, ReenableExt) { |
| 273 using namespace extension_prefs_scope; |
263 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 274 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
264 | 275 |
265 epvm_.SetExtensionPref(kExt1, kPref1, false, CreateVal("val1")); | 276 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, CreateVal("val1")); |
266 epvm_.SetExtensionState(kExt1, false); | 277 epvm_.SetExtensionState(kExt1, false); |
267 epvm_.SetExtensionState(kExt1, true); | 278 epvm_.SetExtensionState(kExt1, true); |
268 EXPECT_EQ("val1", GetValue(kPref1, false)); | 279 EXPECT_EQ("val1", GetValue(kPref1, false)); |
269 } | 280 } |
270 | 281 |
271 struct OverrideIncognitoTestCase { | 282 struct OverrideIncognitoTestCase { |
272 OverrideIncognitoTestCase(int val_ext1_regular, | 283 OverrideIncognitoTestCase(int val_ext1_regular, |
273 int val_ext1_incognito, | 284 int val_ext1_incognito, |
274 int val_ext2_regular, | 285 int val_ext2_regular, |
275 int val_ext2_incognito, | 286 int val_ext2_incognito, |
(...skipping 13 matching lines...) Expand all Loading... |
289 int effective_value_regular_; // desired winner regular | 300 int effective_value_regular_; // desired winner regular |
290 int effective_value_incognito_; // desired winner incognito | 301 int effective_value_incognito_; // desired winner incognito |
291 }; | 302 }; |
292 | 303 |
293 class ExtensionPrefValueMapTestIncognitoTests | 304 class ExtensionPrefValueMapTestIncognitoTests |
294 : public ExtensionPrefValueMapTestBase< | 305 : public ExtensionPrefValueMapTestBase< |
295 testing::TestWithParam<OverrideIncognitoTestCase> > { | 306 testing::TestWithParam<OverrideIncognitoTestCase> > { |
296 }; | 307 }; |
297 | 308 |
298 TEST_P(ExtensionPrefValueMapTestIncognitoTests, OverrideIncognito) { | 309 TEST_P(ExtensionPrefValueMapTestIncognitoTests, OverrideIncognito) { |
| 310 using namespace extension_prefs_scope; |
299 OverrideIncognitoTestCase test = GetParam(); | 311 OverrideIncognitoTestCase test = GetParam(); |
300 const char* strings[] = { | 312 const char* strings[] = { |
301 "undefined", | 313 "undefined", |
302 "val1", | 314 "val1", |
303 "val2", | 315 "val2", |
304 "val3", | 316 "val3", |
305 "val4" | 317 "val4" |
306 }; | 318 }; |
307 | 319 |
308 epvm_.RegisterExtension(kExt1, CreateTime(10), true); | 320 epvm_.RegisterExtension(kExt1, CreateTime(10), true); |
309 epvm_.RegisterExtension(kExt2, CreateTime(20), true); | 321 epvm_.RegisterExtension(kExt2, CreateTime(20), true); |
310 if (test.val_ext1_regular_) { | 322 if (test.val_ext1_regular_) { |
311 epvm_.SetExtensionPref(kExt1, kPref1, false, | 323 epvm_.SetExtensionPref(kExt1, kPref1, kRegular, |
312 CreateVal(strings[test.val_ext1_regular_])); | 324 CreateVal(strings[test.val_ext1_regular_])); |
313 } | 325 } |
314 if (test.val_ext1_incognito_) { | 326 if (test.val_ext1_incognito_) { |
315 epvm_.SetExtensionPref(kExt1, kPref1, true, | 327 epvm_.SetExtensionPref(kExt1, kPref1, kIncognitoPersistent, |
316 CreateVal(strings[test.val_ext1_incognito_])); | 328 CreateVal(strings[test.val_ext1_incognito_])); |
317 } | 329 } |
318 if (test.val_ext2_regular_) { | 330 if (test.val_ext2_regular_) { |
319 epvm_.SetExtensionPref(kExt2, kPref1, false, | 331 epvm_.SetExtensionPref(kExt2, kPref1, kRegular, |
320 CreateVal(strings[test.val_ext2_regular_])); | 332 CreateVal(strings[test.val_ext2_regular_])); |
321 } | 333 } |
322 if (test.val_ext2_incognito_) { | 334 if (test.val_ext2_incognito_) { |
323 epvm_.SetExtensionPref(kExt2, kPref1, true, | 335 epvm_.SetExtensionPref(kExt2, kPref1, kIncognitoPersistent, |
324 CreateVal(strings[test.val_ext2_incognito_])); | 336 CreateVal(strings[test.val_ext2_incognito_])); |
325 } | 337 } |
326 std::string actual; | 338 std::string actual; |
327 EXPECT_EQ(strings[test.effective_value_regular_], GetValue(kPref1, false)); | 339 EXPECT_EQ(strings[test.effective_value_regular_], GetValue(kPref1, false)); |
328 EXPECT_EQ(strings[test.effective_value_incognito_], GetValue(kPref1, true)); | 340 EXPECT_EQ(strings[test.effective_value_incognito_], GetValue(kPref1, true)); |
329 epvm_.UnregisterExtension(kExt1); | 341 epvm_.UnregisterExtension(kExt1); |
330 epvm_.UnregisterExtension(kExt2); | 342 epvm_.UnregisterExtension(kExt2); |
331 } | 343 } |
332 | 344 |
333 INSTANTIATE_TEST_CASE_P( | 345 INSTANTIATE_TEST_CASE_P( |
334 ExtensionPrefValueMapTestIncognitoTestsInstance, | 346 ExtensionPrefValueMapTestIncognitoTestsInstance, |
335 ExtensionPrefValueMapTestIncognitoTests, | 347 ExtensionPrefValueMapTestIncognitoTests, |
336 testing::Values( | 348 testing::Values( |
337 // e.g. (1, 0, 0, 4, 1, 4), means: | 349 // e.g. (1, 0, 0, 4, 1, 4), means: |
338 // ext1 regular is set to "val1", ext2 incognito is set to "val4" | 350 // ext1 regular is set to "val1", ext2 incognito is set to "val4" |
339 // --> the winning regular value is "val1", the winning incognito | 351 // --> the winning regular value is "val1", the winning incognito |
340 // value is "val4". | 352 // value is "val4". |
341 OverrideIncognitoTestCase(1, 0, 0, 0, 1, 1), | 353 OverrideIncognitoTestCase(1, 0, 0, 0, 1, 1), |
342 OverrideIncognitoTestCase(1, 2, 0, 0, 1, 2), | 354 OverrideIncognitoTestCase(1, 2, 0, 0, 1, 2), |
343 OverrideIncognitoTestCase(1, 0, 3, 0, 3, 3), | 355 OverrideIncognitoTestCase(1, 0, 3, 0, 3, 3), |
344 OverrideIncognitoTestCase(1, 0, 0, 4, 1, 4), | 356 OverrideIncognitoTestCase(1, 0, 0, 4, 1, 4), |
345 // The last 3 in the following line is intentional! | 357 // The last 3 in the following line is intentional! |
346 OverrideIncognitoTestCase(1, 2, 3, 0, 3, 3), | 358 OverrideIncognitoTestCase(1, 2, 3, 0, 3, 3), |
347 OverrideIncognitoTestCase(1, 2, 0, 4, 1, 4), | 359 OverrideIncognitoTestCase(1, 2, 0, 4, 1, 4), |
348 OverrideIncognitoTestCase(1, 2, 3, 4, 3, 4))); | 360 OverrideIncognitoTestCase(1, 2, 3, 4, 3, 4))); |
OLD | NEW |