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

Unified Diff: chrome/browser/extensions/extension_prefs_unittest.cc

Issue 8060017: Ensure that --disable-extensions disables extension prefs from being enacted (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ... Created 9 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_prefs_unittest.cc
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index b536410f3a463ef3cc3d750a47f39124619aa8ce..7b6f9a1b0c6b75ec8323becc31186b2715651b04 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/auto_reset.h"
+#include "base/command_line.h"
#include "base/message_loop.h"
#include "base/path_service.h"
#include "base/scoped_temp_dir.h"
@@ -13,6 +15,7 @@
#include "chrome/browser/prefs/pref_change_registrar.h"
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/common/chrome_paths.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension_constants.h"
#include "chrome/common/extensions/extension_permission_set.h"
#include "content/browser/browser_thread.h"
@@ -1111,3 +1114,35 @@ class ExtensionPrefsSetExtensionControlledPref
};
TEST_F(ExtensionPrefsSetExtensionControlledPref,
ExtensionPrefsSetExtensionControlledPref) {}
+
+// Tests that the switches::kDisableExtensions command-line flag prevents
+// extension controlled preferences from being enacted.
+class ExtensionPrefsDisableExtensions
+ : public ExtensionPrefsPreferencesBase {
+ public:
+ ExtensionPrefsDisableExtensions()
+ : iteration_(0),
+ cmd_auto_reset_(CommandLine::ForCurrentProcess(),
+ *CommandLine::ForCurrentProcess()) {}
+ virtual ~ExtensionPrefsDisableExtensions() {}
+ virtual void Initialize() {
+ InstallExtControlledPref(ext1_, kPref1, Value::CreateStringValue("val1"));
+ // This becomes only active in the second verification phase.
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kDisableExtensions);
+ }
+ virtual void Verify() {
+ std::string actual = prefs()->pref_service()->GetString(kPref1);
+ if (iteration_ == 0) {
+ EXPECT_EQ("val1", actual);
+ ++iteration_;
+ } else {
+ EXPECT_EQ(kDefaultPref1, actual);
+ }
+ }
+
+ private:
+ int iteration_;
+ AutoReset<CommandLine> cmd_auto_reset_;
+};
+TEST_F(ExtensionPrefsDisableExtensions, ExtensionPrefsDisableExtensions) {}
« chrome/browser/extensions/extension_prefs.cc ('K') | « chrome/browser/extensions/extension_prefs.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698