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

Side by Side Diff: chrome/browser/extensions/api/preference/preference_api_prefs_unittest.cc

Issue 666153002: Standardize usage of virtual/override/final in chrome/browser/extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 <string> 5 #include <string>
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/prefs/mock_pref_change_callback.h" 9 #include "base/prefs/mock_pref_change_callback.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 class TestPreferenceAPI : public PreferenceAPIBase { 42 class TestPreferenceAPI : public PreferenceAPIBase {
43 public: 43 public:
44 explicit TestPreferenceAPI(TestExtensionPrefs* test_extension_prefs, 44 explicit TestPreferenceAPI(TestExtensionPrefs* test_extension_prefs,
45 ContentSettingsService* content_settings) 45 ContentSettingsService* content_settings)
46 : test_extension_prefs_(test_extension_prefs), 46 : test_extension_prefs_(test_extension_prefs),
47 content_settings_(content_settings) {} 47 content_settings_(content_settings) {}
48 ~TestPreferenceAPI() {} 48 ~TestPreferenceAPI() {}
49 49
50 private: 50 private:
51 // PreferenceAPIBase implementation. 51 // PreferenceAPIBase implementation.
52 virtual ExtensionPrefs* extension_prefs() override { 52 ExtensionPrefs* extension_prefs() override {
53 return test_extension_prefs_->prefs(); 53 return test_extension_prefs_->prefs();
54 } 54 }
55 virtual ExtensionPrefValueMap* extension_pref_value_map() override { 55 ExtensionPrefValueMap* extension_pref_value_map() override {
56 return test_extension_prefs_->extension_pref_value_map(); 56 return test_extension_prefs_->extension_pref_value_map();
57 } 57 }
58 virtual scoped_refptr<ContentSettingsStore> content_settings_store() 58 scoped_refptr<ContentSettingsStore> content_settings_store() override {
59 override {
60 return content_settings_->content_settings_store(); 59 return content_settings_->content_settings_store();
61 } 60 }
62 61
63 TestExtensionPrefs* test_extension_prefs_; 62 TestExtensionPrefs* test_extension_prefs_;
64 ContentSettingsService* content_settings_; 63 ContentSettingsService* content_settings_;
65 64
66 DISALLOW_COPY_AND_ASSIGN(TestPreferenceAPI); 65 DISALLOW_COPY_AND_ASSIGN(TestPreferenceAPI);
67 }; 66 };
68 67
69 class ExtensionControlledPrefsTest : public PrefsPrepopulatedTestBase { 68 class ExtensionControlledPrefsTest : public PrefsPrepopulatedTestBase {
70 public: 69 public:
71 ExtensionControlledPrefsTest(); 70 ExtensionControlledPrefsTest();
72 virtual ~ExtensionControlledPrefsTest(); 71 virtual ~ExtensionControlledPrefsTest();
73 72
74 virtual void RegisterPreferences(user_prefs::PrefRegistrySyncable* registry) 73 void RegisterPreferences(user_prefs::PrefRegistrySyncable* registry) override;
75 override;
76 void InstallExtensionControlledPref(Extension* extension, 74 void InstallExtensionControlledPref(Extension* extension,
77 const std::string& key, 75 const std::string& key,
78 base::Value* value); 76 base::Value* value);
79 void InstallExtensionControlledPrefIncognito(Extension* extension, 77 void InstallExtensionControlledPrefIncognito(Extension* extension,
80 const std::string& key, 78 const std::string& key,
81 base::Value* value); 79 base::Value* value);
82 void InstallExtensionControlledPrefIncognitoSessionOnly( 80 void InstallExtensionControlledPrefIncognitoSessionOnly(
83 Extension* extension, 81 Extension* extension,
84 const std::string& key, 82 const std::string& key,
85 base::Value* value); 83 base::Value* value);
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 if (extensions[i]->id() == extension_id) { 185 if (extensions[i]->id() == extension_id) {
188 installed_[i] = false; 186 installed_[i] = false;
189 break; 187 break;
190 } 188 }
191 } 189 }
192 prefs()->OnExtensionUninstalled(extension_id, Manifest::INTERNAL, false); 190 prefs()->OnExtensionUninstalled(extension_id, Manifest::INTERNAL, false);
193 } 191 }
194 192
195 class ControlledPrefsInstallOneExtension 193 class ControlledPrefsInstallOneExtension
196 : public ExtensionControlledPrefsTest { 194 : public ExtensionControlledPrefsTest {
197 virtual void Initialize() override { 195 void Initialize() override {
198 InstallExtensionControlledPref(extension1(), 196 InstallExtensionControlledPref(extension1(),
199 kPref1, 197 kPref1,
200 new base::StringValue("val1")); 198 new base::StringValue("val1"));
201 } 199 }
202 virtual void Verify() override { 200 void Verify() override {
203 std::string actual = prefs()->pref_service()->GetString(kPref1); 201 std::string actual = prefs()->pref_service()->GetString(kPref1);
204 EXPECT_EQ("val1", actual); 202 EXPECT_EQ("val1", actual);
205 } 203 }
206 }; 204 };
207 TEST_F(ControlledPrefsInstallOneExtension, 205 TEST_F(ControlledPrefsInstallOneExtension,
208 ControlledPrefsInstallOneExtension) { } 206 ControlledPrefsInstallOneExtension) { }
209 207
210 // Check that we do not forget persistent incognito values after a reload. 208 // Check that we do not forget persistent incognito values after a reload.
211 class ControlledPrefsInstallIncognitoPersistent 209 class ControlledPrefsInstallIncognitoPersistent
212 : public ExtensionControlledPrefsTest { 210 : public ExtensionControlledPrefsTest {
213 public: 211 public:
214 virtual void Initialize() override { 212 void Initialize() override {
215 InstallExtensionControlledPref( 213 InstallExtensionControlledPref(
216 extension1(), kPref1, new base::StringValue("val1")); 214 extension1(), kPref1, new base::StringValue("val1"));
217 InstallExtensionControlledPrefIncognito( 215 InstallExtensionControlledPrefIncognito(
218 extension1(), kPref1, new base::StringValue("val2")); 216 extension1(), kPref1, new base::StringValue("val2"));
219 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 217 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
220 std::string actual = incog_prefs->GetString(kPref1); 218 std::string actual = incog_prefs->GetString(kPref1);
221 EXPECT_EQ("val2", actual); 219 EXPECT_EQ("val2", actual);
222 } 220 }
223 221
224 virtual void Verify() override { 222 void Verify() override {
225 // Main pref service shall see only non-incognito settings. 223 // Main pref service shall see only non-incognito settings.
226 std::string actual = prefs()->pref_service()->GetString(kPref1); 224 std::string actual = prefs()->pref_service()->GetString(kPref1);
227 EXPECT_EQ("val1", actual); 225 EXPECT_EQ("val1", actual);
228 // Incognito pref service shall see incognito values. 226 // Incognito pref service shall see incognito values.
229 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 227 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
230 actual = incog_prefs->GetString(kPref1); 228 actual = incog_prefs->GetString(kPref1);
231 EXPECT_EQ("val2", actual); 229 EXPECT_EQ("val2", actual);
232 } 230 }
233 }; 231 };
234 TEST_F(ControlledPrefsInstallIncognitoPersistent, 232 TEST_F(ControlledPrefsInstallIncognitoPersistent,
235 ControlledPrefsInstallIncognitoPersistent) { } 233 ControlledPrefsInstallIncognitoPersistent) { }
236 234
237 // Check that we forget 'session only' incognito values after a reload. 235 // Check that we forget 'session only' incognito values after a reload.
238 class ControlledPrefsInstallIncognitoSessionOnly 236 class ControlledPrefsInstallIncognitoSessionOnly
239 : public ExtensionControlledPrefsTest { 237 : public ExtensionControlledPrefsTest {
240 public: 238 public:
241 ControlledPrefsInstallIncognitoSessionOnly() : iteration_(0) {} 239 ControlledPrefsInstallIncognitoSessionOnly() : iteration_(0) {}
242 240
243 virtual void Initialize() override { 241 void Initialize() override {
244 InstallExtensionControlledPref( 242 InstallExtensionControlledPref(
245 extension1(), kPref1, new base::StringValue("val1")); 243 extension1(), kPref1, new base::StringValue("val1"));
246 InstallExtensionControlledPrefIncognitoSessionOnly( 244 InstallExtensionControlledPrefIncognitoSessionOnly(
247 extension1(), kPref1, new base::StringValue("val2")); 245 extension1(), kPref1, new base::StringValue("val2"));
248 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 246 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
249 std::string actual = incog_prefs->GetString(kPref1); 247 std::string actual = incog_prefs->GetString(kPref1);
250 EXPECT_EQ("val2", actual); 248 EXPECT_EQ("val2", actual);
251 } 249 }
252 virtual void Verify() override { 250 void Verify() override {
253 // Main pref service shall see only non-incognito settings. 251 // Main pref service shall see only non-incognito settings.
254 std::string actual = prefs()->pref_service()->GetString(kPref1); 252 std::string actual = prefs()->pref_service()->GetString(kPref1);
255 EXPECT_EQ("val1", actual); 253 EXPECT_EQ("val1", actual);
256 // Incognito pref service shall see session-only incognito values only 254 // Incognito pref service shall see session-only incognito values only
257 // during first run. Once the pref service was reloaded, all values shall be 255 // during first run. Once the pref service was reloaded, all values shall be
258 // discarded. 256 // discarded.
259 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService()); 257 scoped_ptr<PrefService> incog_prefs(prefs_.CreateIncognitoPrefService());
260 actual = incog_prefs->GetString(kPref1); 258 actual = incog_prefs->GetString(kPref1);
261 if (iteration_ == 0) { 259 if (iteration_ == 0) {
262 EXPECT_EQ("val2", actual); 260 EXPECT_EQ("val2", actual);
263 } else { 261 } else {
264 EXPECT_EQ("val1", actual); 262 EXPECT_EQ("val1", actual);
265 } 263 }
266 ++iteration_; 264 ++iteration_;
267 } 265 }
268 int iteration_; 266 int iteration_;
269 }; 267 };
270 TEST_F(ControlledPrefsInstallIncognitoSessionOnly, 268 TEST_F(ControlledPrefsInstallIncognitoSessionOnly,
271 ControlledPrefsInstallIncognitoSessionOnly) { } 269 ControlledPrefsInstallIncognitoSessionOnly) { }
272 270
273 class ControlledPrefsUninstallExtension : public ExtensionControlledPrefsTest { 271 class ControlledPrefsUninstallExtension : public ExtensionControlledPrefsTest {
274 virtual void Initialize() override { 272 void Initialize() override {
275 InstallExtensionControlledPref( 273 InstallExtensionControlledPref(
276 extension1(), kPref1, new base::StringValue("val1")); 274 extension1(), kPref1, new base::StringValue("val1"));
277 InstallExtensionControlledPref( 275 InstallExtensionControlledPref(
278 extension1(), kPref2, new base::StringValue("val2")); 276 extension1(), kPref2, new base::StringValue("val2"));
279 scoped_refptr<ContentSettingsStore> store = content_settings_store(); 277 scoped_refptr<ContentSettingsStore> store = content_settings_store();
280 ContentSettingsPattern pattern = 278 ContentSettingsPattern pattern =
281 ContentSettingsPattern::FromString("http://[*.]example.com"); 279 ContentSettingsPattern::FromString("http://[*.]example.com");
282 store->SetExtensionContentSetting(extension1()->id(), 280 store->SetExtensionContentSetting(extension1()->id(),
283 pattern, pattern, 281 pattern, pattern,
284 CONTENT_SETTINGS_TYPE_IMAGES, 282 CONTENT_SETTINGS_TYPE_IMAGES,
285 std::string(), 283 std::string(),
286 CONTENT_SETTING_BLOCK, 284 CONTENT_SETTING_BLOCK,
287 kExtensionPrefsScopeRegular); 285 kExtensionPrefsScopeRegular);
288 286
289 UninstallExtension(extension1()->id()); 287 UninstallExtension(extension1()->id());
290 } 288 }
291 virtual void Verify() override { 289 void Verify() override {
292 EXPECT_FALSE(prefs()->HasPrefForExtension(extension1()->id())); 290 EXPECT_FALSE(prefs()->HasPrefForExtension(extension1()->id()));
293 291
294 std::string actual; 292 std::string actual;
295 actual = prefs()->pref_service()->GetString(kPref1); 293 actual = prefs()->pref_service()->GetString(kPref1);
296 EXPECT_EQ(kDefaultPref1, actual); 294 EXPECT_EQ(kDefaultPref1, actual);
297 actual = prefs()->pref_service()->GetString(kPref2); 295 actual = prefs()->pref_service()->GetString(kPref2);
298 EXPECT_EQ(kDefaultPref2, actual); 296 EXPECT_EQ(kDefaultPref2, actual);
299 } 297 }
300 }; 298 };
301 TEST_F(ControlledPrefsUninstallExtension, 299 TEST_F(ControlledPrefsUninstallExtension,
302 ControlledPrefsUninstallExtension) { } 300 ControlledPrefsUninstallExtension) { }
303 301
304 // Tests triggering of notifications to registered observers. 302 // Tests triggering of notifications to registered observers.
305 class ControlledPrefsNotifyWhenNeeded : public ExtensionControlledPrefsTest { 303 class ControlledPrefsNotifyWhenNeeded : public ExtensionControlledPrefsTest {
306 virtual void Initialize() override { 304 void Initialize() override {
307 using testing::_; 305 using testing::_;
308 using testing::Mock; 306 using testing::Mock;
309 using testing::StrEq; 307 using testing::StrEq;
310 308
311 MockPrefChangeCallback observer(prefs()->pref_service()); 309 MockPrefChangeCallback observer(prefs()->pref_service());
312 PrefChangeRegistrar registrar; 310 PrefChangeRegistrar registrar;
313 registrar.Init(prefs()->pref_service()); 311 registrar.Init(prefs()->pref_service());
314 registrar.Add(kPref1, observer.GetCallback()); 312 registrar.Add(kPref1, observer.GetCallback());
315 313
316 MockPrefChangeCallback incognito_observer(prefs()->pref_service()); 314 MockPrefChangeCallback incognito_observer(prefs()->pref_service());
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 // Uninstall. 359 // Uninstall.
362 EXPECT_CALL(observer, OnPreferenceChanged(_)); 360 EXPECT_CALL(observer, OnPreferenceChanged(_));
363 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_)); 361 EXPECT_CALL(incognito_observer, OnPreferenceChanged(_));
364 UninstallExtension(extension1()->id()); 362 UninstallExtension(extension1()->id());
365 Mock::VerifyAndClearExpectations(&observer); 363 Mock::VerifyAndClearExpectations(&observer);
366 Mock::VerifyAndClearExpectations(&incognito_observer); 364 Mock::VerifyAndClearExpectations(&incognito_observer);
367 365
368 registrar.Remove(kPref1); 366 registrar.Remove(kPref1);
369 incognito_registrar.Remove(kPref1); 367 incognito_registrar.Remove(kPref1);
370 } 368 }
371 virtual void Verify() override { 369 void Verify() override {
372 std::string actual = prefs()->pref_service()->GetString(kPref1); 370 std::string actual = prefs()->pref_service()->GetString(kPref1);
373 EXPECT_EQ(kDefaultPref1, actual); 371 EXPECT_EQ(kDefaultPref1, actual);
374 } 372 }
375 }; 373 };
376 TEST_F(ControlledPrefsNotifyWhenNeeded, 374 TEST_F(ControlledPrefsNotifyWhenNeeded,
377 ControlledPrefsNotifyWhenNeeded) { } 375 ControlledPrefsNotifyWhenNeeded) { }
378 376
379 // Tests disabling an extension. 377 // Tests disabling an extension.
380 class ControlledPrefsDisableExtension : public ExtensionControlledPrefsTest { 378 class ControlledPrefsDisableExtension : public ExtensionControlledPrefsTest {
381 virtual void Initialize() override { 379 void Initialize() override {
382 InstallExtensionControlledPref( 380 InstallExtensionControlledPref(
383 extension1(), kPref1, new base::StringValue("val1")); 381 extension1(), kPref1, new base::StringValue("val1"));
384 std::string actual = prefs()->pref_service()->GetString(kPref1); 382 std::string actual = prefs()->pref_service()->GetString(kPref1);
385 EXPECT_EQ("val1", actual); 383 EXPECT_EQ("val1", actual);
386 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED); 384 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED);
387 } 385 }
388 virtual void Verify() override { 386 void Verify() override {
389 std::string actual = prefs()->pref_service()->GetString(kPref1); 387 std::string actual = prefs()->pref_service()->GetString(kPref1);
390 EXPECT_EQ(kDefaultPref1, actual); 388 EXPECT_EQ(kDefaultPref1, actual);
391 } 389 }
392 }; 390 };
393 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsDisableExtension) { } 391 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsDisableExtension) { }
394 392
395 // Tests disabling and reenabling an extension. 393 // Tests disabling and reenabling an extension.
396 class ControlledPrefsReenableExtension : public ExtensionControlledPrefsTest { 394 class ControlledPrefsReenableExtension : public ExtensionControlledPrefsTest {
397 virtual void Initialize() override { 395 void Initialize() override {
398 InstallExtensionControlledPref( 396 InstallExtensionControlledPref(
399 extension1(), kPref1, new base::StringValue("val1")); 397 extension1(), kPref1, new base::StringValue("val1"));
400 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED); 398 prefs()->SetExtensionState(extension1()->id(), Extension::DISABLED);
401 prefs()->SetExtensionState(extension1()->id(), Extension::ENABLED); 399 prefs()->SetExtensionState(extension1()->id(), Extension::ENABLED);
402 } 400 }
403 virtual void Verify() override { 401 void Verify() override {
404 std::string actual = prefs()->pref_service()->GetString(kPref1); 402 std::string actual = prefs()->pref_service()->GetString(kPref1);
405 EXPECT_EQ("val1", actual); 403 EXPECT_EQ("val1", actual);
406 } 404 }
407 }; 405 };
408 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsReenableExtension) { } 406 TEST_F(ControlledPrefsDisableExtension, ControlledPrefsReenableExtension) { }
409 407
410 // Mock class to test whether objects are deleted correctly. 408 // Mock class to test whether objects are deleted correctly.
411 class MockStringValue : public base::StringValue { 409 class MockStringValue : public base::StringValue {
412 public: 410 public:
413 explicit MockStringValue(const std::string& in_value) 411 explicit MockStringValue(const std::string& in_value)
414 : base::StringValue(in_value) { 412 : base::StringValue(in_value) {
415 } 413 }
416 virtual ~MockStringValue() { 414 virtual ~MockStringValue() {
417 Die(); 415 Die();
418 } 416 }
419 MOCK_METHOD0(Die, void()); 417 MOCK_METHOD0(Die, void());
420 }; 418 };
421 419
422 class ControlledPrefsSetExtensionControlledPref 420 class ControlledPrefsSetExtensionControlledPref
423 : public ExtensionControlledPrefsTest { 421 : public ExtensionControlledPrefsTest {
424 public: 422 public:
425 virtual void Initialize() override { 423 void Initialize() override {
426 MockStringValue* v1 = new MockStringValue("https://www.chromium.org"); 424 MockStringValue* v1 = new MockStringValue("https://www.chromium.org");
427 MockStringValue* v2 = new MockStringValue("https://www.chromium.org"); 425 MockStringValue* v2 = new MockStringValue("https://www.chromium.org");
428 MockStringValue* v1i = new MockStringValue("https://www.chromium.org"); 426 MockStringValue* v1i = new MockStringValue("https://www.chromium.org");
429 MockStringValue* v2i = new MockStringValue("https://www.chromium.org"); 427 MockStringValue* v2i = new MockStringValue("https://www.chromium.org");
430 // Ownership is taken, value shall not be deleted. 428 // Ownership is taken, value shall not be deleted.
431 EXPECT_CALL(*v1, Die()).Times(0); 429 EXPECT_CALL(*v1, Die()).Times(0);
432 EXPECT_CALL(*v1i, Die()).Times(0); 430 EXPECT_CALL(*v1i, Die()).Times(0);
433 InstallExtensionControlledPref(extension1(), kPref1, v1); 431 InstallExtensionControlledPref(extension1(), kPref1, v1);
434 InstallExtensionControlledPrefIncognito(extension1(), kPref1, v1i); 432 InstallExtensionControlledPrefIncognito(extension1(), kPref1, v1i);
435 testing::Mock::VerifyAndClearExpectations(v1); 433 testing::Mock::VerifyAndClearExpectations(v1);
436 testing::Mock::VerifyAndClearExpectations(v1i); 434 testing::Mock::VerifyAndClearExpectations(v1i);
437 // Make sure there is no memory leak and both values are deleted. 435 // Make sure there is no memory leak and both values are deleted.
438 EXPECT_CALL(*v1, Die()).Times(1); 436 EXPECT_CALL(*v1, Die()).Times(1);
439 EXPECT_CALL(*v1i, Die()).Times(1); 437 EXPECT_CALL(*v1i, Die()).Times(1);
440 EXPECT_CALL(*v2, Die()).Times(1); 438 EXPECT_CALL(*v2, Die()).Times(1);
441 EXPECT_CALL(*v2i, Die()).Times(1); 439 EXPECT_CALL(*v2i, Die()).Times(1);
442 InstallExtensionControlledPref(extension1(), kPref1, v2); 440 InstallExtensionControlledPref(extension1(), kPref1, v2);
443 InstallExtensionControlledPrefIncognito(extension1(), kPref1, v2i); 441 InstallExtensionControlledPrefIncognito(extension1(), kPref1, v2i);
444 prefs_.RecreateExtensionPrefs(); 442 prefs_.RecreateExtensionPrefs();
445 testing::Mock::VerifyAndClearExpectations(v1); 443 testing::Mock::VerifyAndClearExpectations(v1);
446 testing::Mock::VerifyAndClearExpectations(v1i); 444 testing::Mock::VerifyAndClearExpectations(v1i);
447 testing::Mock::VerifyAndClearExpectations(v2); 445 testing::Mock::VerifyAndClearExpectations(v2);
448 testing::Mock::VerifyAndClearExpectations(v2i); 446 testing::Mock::VerifyAndClearExpectations(v2i);
449 } 447 }
450 448
451 virtual void Verify() override { 449 void Verify() override {}
452 }
453 }; 450 };
454 TEST_F(ControlledPrefsSetExtensionControlledPref, 451 TEST_F(ControlledPrefsSetExtensionControlledPref,
455 ControlledPrefsSetExtensionControlledPref) { } 452 ControlledPrefsSetExtensionControlledPref) { }
456 453
457 // Tests that the switches::kDisableExtensions command-line flag prevents 454 // Tests that the switches::kDisableExtensions command-line flag prevents
458 // extension controlled preferences from being enacted. 455 // extension controlled preferences from being enacted.
459 class ControlledPrefsDisableExtensions : public ExtensionControlledPrefsTest { 456 class ControlledPrefsDisableExtensions : public ExtensionControlledPrefsTest {
460 public: 457 public:
461 ControlledPrefsDisableExtensions() 458 ControlledPrefsDisableExtensions()
462 : iteration_(0) {} 459 : iteration_(0) {}
463 virtual ~ControlledPrefsDisableExtensions() {} 460 virtual ~ControlledPrefsDisableExtensions() {}
464 virtual void Initialize() override { 461 void Initialize() override {
465 InstallExtensionControlledPref( 462 InstallExtensionControlledPref(
466 extension1(), kPref1, new base::StringValue("val1")); 463 extension1(), kPref1, new base::StringValue("val1"));
467 // This becomes only active in the second verification phase. 464 // This becomes only active in the second verification phase.
468 prefs_.set_extensions_disabled(true); 465 prefs_.set_extensions_disabled(true);
469 } 466 }
470 virtual void Verify() override { 467 void Verify() override {
471 std::string actual = prefs()->pref_service()->GetString(kPref1); 468 std::string actual = prefs()->pref_service()->GetString(kPref1);
472 if (iteration_ == 0) { 469 if (iteration_ == 0) {
473 EXPECT_EQ("val1", actual); 470 EXPECT_EQ("val1", actual);
474 ++iteration_; 471 ++iteration_;
475 } else { 472 } else {
476 EXPECT_EQ(kDefaultPref1, actual); 473 EXPECT_EQ(kDefaultPref1, actual);
477 } 474 }
478 } 475 }
479 476
480 private: 477 private:
481 int iteration_; 478 int iteration_;
482 }; 479 };
483 TEST_F(ControlledPrefsDisableExtensions, ControlledPrefsDisableExtensions) { } 480 TEST_F(ControlledPrefsDisableExtensions, ControlledPrefsDisableExtensions) { }
484 481
485 } // namespace extensions 482 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698