summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/ui/webui/options/preferences_browsertest.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/ui/webui/options/preferences_browsertest.h')
-rw-r--r--chromium/chrome/browser/ui/webui/options/preferences_browsertest.h196
1 files changed, 0 insertions, 196 deletions
diff --git a/chromium/chrome/browser/ui/webui/options/preferences_browsertest.h b/chromium/chrome/browser/ui/webui/options/preferences_browsertest.h
deleted file mode 100644
index d2136d36e8a..00000000000
--- a/chromium/chrome/browser/ui/webui/options/preferences_browsertest.h
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_PREFERENCES_BROWSERTEST_H_
-#define CHROME_BROWSER_UI_WEBUI_OPTIONS_PREFERENCES_BROWSERTEST_H_
-
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "base/compiler_specific.h"
-#include "base/macros.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "components/policy/core/common/mock_configuration_policy_provider.h"
-#include "components/policy/core/common/policy_types.h"
-#include "components/prefs/pref_change_registrar.h"
-#include "components/prefs/pref_service.h"
-#include "content/public/browser/notification_observer.h"
-#include "testing/gmock/include/gmock/gmock.h"
-
-namespace base {
-class DictionaryValue;
-class Value;
-}
-
-namespace content {
-class RenderViewHost;
-}
-
-// Tests verifying that the JavaScript Preferences class, the underlying C++
-// CoreOptionsHandler and the specialized classes handling Chrome OS device and
-// proxy prefs behave correctly.
-class PreferencesBrowserTest : public InProcessBrowserTest {
- public:
- PreferencesBrowserTest();
- ~PreferencesBrowserTest() override;
-
- // InProcessBrowserTest implementation:
- void SetUpOnMainThread() override;
- void TearDownOnMainThread() override;
-
- void OnPreferenceChanged(const std::string& pref_name);
-
- protected:
- MOCK_METHOD1(OnCommit, void(const PrefService::Preference*));
-
- // The pref service that holds the current pref values in the C++ backend.
- PrefService* pref_service();
-
- void SetUpPrefs();
-
- // InProcessBrowserTest implementation:
- void SetUpInProcessBrowserTestFixture() override;
-
- // Sets user policies through the mock policy provider.
- void SetUserPolicies(const std::vector<std::string>& names,
- const std::vector<std::unique_ptr<base::Value>>& values,
- policy::PolicyLevel level);
- // Clears user policies.
- void ClearUserPolicies();
- // Set user-modified pref values directly in the C++ backend.
- void SetUserValues(const std::vector<std::string>& names,
- const std::vector<std::unique_ptr<base::Value>>& values);
-
- // Verifies that a dictionary contains a (key, value) pair. Takes ownership of
- // |expected|.
- void VerifyKeyValue(const base::DictionaryValue& dict,
- const std::string& key,
- const base::Value& expected);
- // Verifies that a dictionary contains a given pref and that its value has
- // been decorated correctly.
- void VerifyPref(const base::DictionaryValue* prefs,
- const std::string& name,
- const std::unique_ptr<base::Value>& value,
- const std::string& controlledBy,
- bool disabled,
- bool uncommitted);
- // Verifies that a notification received from the JavaScript Preferences
- // class contains a given pref and that its value has been decorated
- // correctly.
- void VerifyObservedPref(const std::string& observed_json,
- const std::string& name,
- const std::unique_ptr<base::Value>& value,
- const std::string& controlledBy,
- bool disabled,
- bool uncommitted);
- // Verifies that notifications received from the JavaScript Preferences class
- // contain the given prefs and that their values have been decorated
- // correctly.
- void VerifyObservedPrefs(
- const std::string& observed_json,
- const std::vector<std::string>& names,
- const std::vector<std::unique_ptr<base::Value>>& values,
- const std::string& controlledBy,
- bool disabled,
- bool uncommitted);
-
- // Sets up the expectation that the JavaScript Preferences class will make no
- // change to a user-modified pref value in the C++ backend.
- void ExpectNoCommit(const std::string& name);
- // Sets up the expectation that the JavaScript Preferences class will set a
- // user-modified pref value in the C++ backend.
- void ExpectSetCommit(const std::string& name,
- const std::unique_ptr<base::Value>& value);
- // Sets up the expectation that the JavaScript Preferences class will clear a
- // user-modified pref value in the C++ backend.
- void ExpectClearCommit(const std::string& name);
- // Verifies that previously set expectations are met and clears them.
- void VerifyAndClearExpectations();
-
- // Sets up the JavaScript part of the test environment.
- void SetupJavaScriptTestEnvironment(
- const std::vector<std::string>& pref_names,
- std::string* observed_json) const;
-
- // Sets a value through the JavaScript Preferences class as if the user had
- // modified it. Returns the observation which can be verified using the
- // VerifyObserved* methods.
- void SetPref(const std::string& name,
- const std::string& type,
- const std::unique_ptr<base::Value>& value,
- bool commit,
- std::string* observed_json);
-
- // Verifies that setting a user-modified pref value through the JavaScript
- // Preferences class fires the correct notification in JavaScript and commits
- // the change to C++ if |commit| is true.
- void VerifySetPref(const std::string& name,
- const std::string& type,
- const std::unique_ptr<base::Value>& value,
- bool commit);
- // Verifies that clearing a user-modified pref value through the JavaScript
- // Preferences class fires the correct notification in JavaScript and does
- // respectively does not cause the change to be committed to the C++ backend.
- void VerifyClearPref(const std::string& name,
- const std::unique_ptr<base::Value>& value,
- bool commit);
- // Verifies that committing a previously made change of a user-modified pref
- // value through the JavaScript Preferences class fires the correct
- // notification in JavaScript.
- void VerifyCommit(const std::string& name,
- const std::unique_ptr<base::Value>& value,
- const std::string& controlledBy);
- // Verifies that committing a previously set user-modified pref value through
- // the JavaScript Preferences class fires the correct notification in
- // JavaScript and causes the change to be committed to the C++ backend.
- void VerifySetCommit(const std::string& name,
- const std::unique_ptr<base::Value>& value);
- // Verifies that committing the previously cleared user-modified pref value
- // through the JavaScript Preferences class fires the correct notification in
- // JavaScript and causes the change to be committed to the C++ backend.
- void VerifyClearCommit(const std::string& name,
- const std::unique_ptr<base::Value>& value);
- // Verifies that rolling back a previously made change of a user-modified pref
- // value through the JavaScript Preferences class fires the correct
- // notification in JavaScript and does not cause the change to be committed to
- // the C++ backend.
- void VerifyRollback(const std::string& name,
- const std::unique_ptr<base::Value>& value,
- const std::string& controlledBy);
- // Start observing notifications sent by the JavaScript Preferences class for
- // pref values changes.
- void StartObserving();
- // Change the value of a sentinel pref in the C++ backend and finish observing
- // notifications sent by the JavaScript Preferences class when the
- // notification for this pref is received.
- void FinishObserving(std::string* observed_json);
-
- // Populate the lists of test prefs and corresponding policies with default
- // values used by most tests.
- void UseDefaultTestPrefs(bool includeListPref);
-
- // The current tab's render view host, required to inject JavaScript code into
- // the tab.
- content::RenderViewHost* render_view_host_;
-
- // Mock policy provider for both user and device policies.
- policy::MockConfigurationPolicyProvider policy_provider_;
-
- // Pref change registrar that detects changes to user-modified pref values
- // made in the C++ backend by the JavaScript Preferences class.
- std::unique_ptr<PrefChangeRegistrar> pref_change_registrar_;
-
- // The prefs and corresponding policies used by the current test.
- std::vector<std::string> types_;
- std::vector<std::string> pref_names_;
- std::vector<std::string> policy_names_;
- std::vector<std::unique_ptr<base::Value>> default_values_;
- std::vector<std::unique_ptr<base::Value>> non_default_values_;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(PreferencesBrowserTest);
-};
-
-#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_PREFERENCES_BROWSERTEST_H_