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

Unified Diff: chrome/browser/policy/policy_prefs_browsertest.cc

Issue 11272026: Remove the managed banner from the Chrome settings UI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 8 years, 2 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/policy/policy_prefs_browsertest.cc
diff --git a/chrome/browser/policy/policy_prefs_browsertest.cc b/chrome/browser/policy/policy_prefs_browsertest.cc
index 7991c3fb521fef74d63f9018822d39d6240ed27c..294fc537f72a2b89b4e7e121fd93929a949da407 100644
--- a/chrome/browser/policy/policy_prefs_browsertest.cc
+++ b/chrome/browser/policy/policy_prefs_browsertest.cc
@@ -41,18 +41,7 @@ namespace policy {
namespace {
-const char* kSettingsPages[] = {
- "chrome://settings-frame",
- "chrome://settings-frame/searchEngines",
- "chrome://settings-frame/passwords",
- "chrome://settings-frame/autofill",
- "chrome://settings-frame/content",
- "chrome://settings-frame/homePageOverlay",
- "chrome://settings-frame/languages",
-#if defined(OS_CHROMEOS)
- "chrome://settings-frame/accounts",
-#endif
-};
+const char kMainSettingsPage[] = "chrome://settings-frame";
const char kCrosSettingsPrefix[] = "cros.";
@@ -173,9 +162,6 @@ class PolicyTestCase {
test_policy_.CopyFrom(policy);
}
- const std::vector<GURL>& settings_pages() const { return settings_pages_; }
- void AddSettingsPage(const GURL& url) { settings_pages_.push_back(url); }
-
const ScopedVector<PrefMapping>& pref_mappings() const {
return pref_mappings_;
}
@@ -189,7 +175,6 @@ class PolicyTestCase {
bool can_be_recommended_;
std::vector<std::string> supported_os_;
PolicyMap test_policy_;
- std::vector<GURL> settings_pages_;
ScopedVector<PrefMapping> pref_mappings_;
DISALLOW_COPY_AND_ASSIGN(PolicyTestCase);
@@ -270,14 +255,6 @@ class PolicyTestCases {
policy.LoadFrom(policy_dict, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER);
policy_test_case->SetTestPolicy(policy);
}
- const base::ListValue* settings_pages = NULL;
- if (policy_test_dict->GetList("settings_pages", &settings_pages)) {
- for (size_t i = 0; i < settings_pages->GetSize(); ++i) {
- std::string page;
- if (settings_pages->GetString(i, &page))
- policy_test_case->AddSettingsPage(GURL(page));
- }
- }
const base::ListValue* pref_mappings = NULL;
if (policy_test_dict->GetList("pref_mappings", &pref_mappings)) {
for (size_t i = 0; i < pref_mappings->GetSize(); ++i) {
@@ -328,25 +305,6 @@ class PolicyTestCases {
DISALLOW_COPY_AND_ASSIGN(PolicyTestCases);
};
-bool IsBannerVisible(Browser* browser) {
- content::WebContents* contents = chrome::GetActiveWebContents(browser);
- bool result = false;
- EXPECT_TRUE(content::ExecuteJavaScriptAndExtractBool(
- contents->GetRenderViewHost(),
- std::wstring(),
- L"var visible = false;"
- L"var banners = document.querySelectorAll('.page-banner');"
- L"for (var i = 0; i < banners.length; i++) {"
- L" if (banners[i].parentElement.id == 'templates')"
- L" continue;"
- L" if (window.getComputedStyle(banners[i]).display != 'none')"
- L" visible = true;"
- L"}"
- L"domAutomationController.send(visible);",
- &result));
- return result;
-}
-
void VerifyControlledSettingIndicators(Browser* browser,
const std::string& selector,
const std::string& value,
@@ -417,13 +375,11 @@ void VerifyControlledSettingIndicators(Browser* browser,
} // namespace
-// A class of tests parameterized by a settings page URL.
-class PolicyPrefsSettingsBannerTest
+// Base class for tests that change policy and are parameterized with a policy
+// definition.
+class PolicyPrefsTest
: public InProcessBrowserTest,
- public testing::WithParamInterface<const char*> {};
-
-// Base class for tests that change policies.
-class PolicyBaseTest : public InProcessBrowserTest {
+ public testing::WithParamInterface<PolicyDefinitionList::Entry> {
protected:
virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
EXPECT_CALL(provider_, IsInitializationComplete())
@@ -435,16 +391,7 @@ class PolicyBaseTest : public InProcessBrowserTest {
MockConfigurationPolicyProvider provider_;
};
-// A class of tests that change policy and don't need parameters.
-class PolicyPrefsBannerTest : public PolicyBaseTest {};
-
-// A class of tests that change policy and are parameterized with a policy
-// definition.
-class PolicyPrefsTest
- : public PolicyBaseTest,
- public testing::WithParamInterface<PolicyDefinitionList::Entry> {};
-
-TEST(PolicyPrefsTest, AllPoliciesHaveATestCase) {
+TEST(PolicyPrefsTestCoverageTest, AllPoliciesHaveATestCase) {
// Verifies that all known policies have a test case in the JSON file.
// This test fails when a policy is added to
// chrome/app/policy/policy_templates.json but a test case is not added to
@@ -458,41 +405,6 @@ TEST(PolicyPrefsTest, AllPoliciesHaveATestCase) {
}
}
-IN_PROC_BROWSER_TEST_P(PolicyPrefsSettingsBannerTest, NoPoliciesNoBanner) {
- // Verifies that the banner isn't shown in the settings UI when no policies
- // are set.
- ui_test_utils::NavigateToURL(browser(), GURL(GetParam()));
- EXPECT_FALSE(IsBannerVisible(browser()));
-}
-
-INSTANTIATE_TEST_CASE_P(PolicyPrefsSettingsBannerTestInstance,
- PolicyPrefsSettingsBannerTest,
- testing::ValuesIn(kSettingsPages));
-
-IN_PROC_BROWSER_TEST_F(PolicyPrefsBannerTest, TogglePolicyTogglesBanner) {
- // Verifies that the banner appears and disappears as policies are added and
- // removed.
- // |test_case| is just a particular policy that should trigger the banner
- // on the main settings page.
- const PolicyTestCase* test_case = policy_test_cases_.Get("ShowHomeButton");
- ASSERT_TRUE(test_case);
- // No banner by default.
- ui_test_utils::NavigateToURL(browser(), GURL(kSettingsPages[0]));
- EXPECT_FALSE(IsBannerVisible(browser()));
- // Adding a policy makes the banner show up.
- provider_.UpdateChromePolicy(test_case->test_policy());
- EXPECT_TRUE(IsBannerVisible(browser()));
- // And removing it makes the banner go away.
- const PolicyMap kNoPolicies;
- provider_.UpdateChromePolicy(kNoPolicies);
- EXPECT_FALSE(IsBannerVisible(browser()));
- // Do it again, just in case.
- provider_.UpdateChromePolicy(test_case->test_policy());
- EXPECT_TRUE(IsBannerVisible(browser()));
- provider_.UpdateChromePolicy(kNoPolicies);
- EXPECT_FALSE(IsBannerVisible(browser()));
-}
-
IN_PROC_BROWSER_TEST_P(PolicyPrefsTest, PolicyToPrefsMapping) {
// Verifies that policies make their corresponding preferences become managed,
// and that the user can't override that setting.
@@ -536,27 +448,6 @@ IN_PROC_BROWSER_TEST_P(PolicyPrefsTest, PolicyToPrefsMapping) {
}
}
-IN_PROC_BROWSER_TEST_P(PolicyPrefsTest, CheckAllPoliciesThatShowTheBanner) {
- // Verifies that the banner appears for each policy that affects a control
- // in the settings UI.
- const PolicyTestCase* test_case = policy_test_cases_.Get(GetParam().name);
- ASSERT_TRUE(test_case);
- if (!test_case->IsSupported() || test_case->settings_pages().empty())
- return;
- LOG(INFO) << "Testing policy: " << test_case->name();
-
- const std::vector<GURL>& pages = test_case->settings_pages();
- for (size_t i = 0; i < pages.size(); ++i) {
- ui_test_utils::NavigateToURL(browser(), pages[i]);
- EXPECT_FALSE(IsBannerVisible(browser()));
- provider_.UpdateChromePolicy(test_case->test_policy());
- EXPECT_TRUE(IsBannerVisible(browser()));
- const PolicyMap kNoPolicies;
- provider_.UpdateChromePolicy(kNoPolicies);
- EXPECT_FALSE(IsBannerVisible(browser()));
- }
-}
-
IN_PROC_BROWSER_TEST_P(PolicyPrefsTest, CheckPolicyIndicators) {
// Verifies that controlled setting indicators correctly show whether a pref's
// value is recommended or enforced by a corresponding policy.
@@ -590,7 +481,7 @@ IN_PROC_BROWSER_TEST_P(PolicyPrefsTest, CheckPolicyIndicators) {
if (indicator_test_cases.empty())
continue;
- ui_test_utils::NavigateToURL(browser(), GURL(kSettingsPages[0]));
+ ui_test_utils::NavigateToURL(browser(), GURL(kMainSettingsPage));
if (!(*pref_mapping)->indicator_test_setup_js().empty()) {
ASSERT_TRUE(content::ExecuteJavaScript(
chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"",
« no previous file with comments | « chrome/browser/chromeos/proxy_cros_settings_parser.cc ('k') | chrome/browser/resources/extensions/extensions.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698