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

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

Issue 2529083002: Make extensions developer mode adhere to policy (Closed)
Patch Set: Rebase Created 4 years 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
« no previous file with comments | « chrome/browser/policy/policy_browsertest.cc ('k') | chrome/browser/resources/extensions/extensions.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 d86196dc3526b7d47d8b017a8495a272fe67a608..1a41f524b77c30a8afeaaab5bb879e776cfb093c 100644
--- a/chrome/browser/policy/policy_prefs_browsertest.cc
+++ b/chrome/browser/policy/policy_prefs_browsertest.cc
@@ -101,12 +101,14 @@ class PrefMapping {
bool is_local_state,
bool check_for_mandatory,
bool check_for_recommended,
+ const std::string& indicator_test_url,
const std::string& indicator_test_setup_js,
const std::string& indicator_selector)
: pref_(pref),
is_local_state_(is_local_state),
check_for_mandatory_(check_for_mandatory),
check_for_recommended_(check_for_recommended),
+ indicator_test_url_(indicator_test_url),
indicator_test_setup_js_(indicator_test_setup_js),
indicator_selector_(indicator_selector) {}
~PrefMapping() {}
@@ -119,6 +121,8 @@ class PrefMapping {
bool check_for_recommended() const { return check_for_recommended_; }
+ const std::string& indicator_test_url() const { return indicator_test_url_; }
+
const std::string& indicator_test_setup_js() const {
return indicator_test_setup_js_;
}
@@ -139,6 +143,7 @@ class PrefMapping {
const bool is_local_state_;
const bool check_for_mandatory_;
const bool check_for_recommended_;
+ const std::string indicator_test_url_;
const std::string indicator_test_setup_js_;
const std::string indicator_selector_;
ScopedVector<IndicatorTestCase> indicator_test_cases_;
@@ -218,7 +223,7 @@ class PolicyTestCase {
DISALLOW_COPY_AND_ASSIGN(PolicyTestCase);
};
-// Parses all policy test cases and makes then available in a map.
+// Parses all policy test cases and makes them available in a map.
class PolicyTestCases {
public:
typedef std::vector<PolicyTestCase*> PolicyTestCaseVector;
@@ -327,6 +332,8 @@ class PolicyTestCases {
bool check_for_recommended = true;
pref_mapping_dict->GetBoolean("check_for_recommended",
&check_for_recommended);
+ std::string indicator_test_url;
+ pref_mapping_dict->GetString("indicator_test_url", &indicator_test_url);
std::string indicator_test_setup_js;
pref_mapping_dict->GetString("indicator_test_setup_js",
&indicator_test_setup_js);
@@ -336,6 +343,7 @@ class PolicyTestCases {
is_local_state,
check_for_mandatory,
check_for_recommended,
+ indicator_test_url,
indicator_test_setup_js,
indicator_selector);
const base::ListValue* indicator_tests = NULL;
@@ -693,6 +701,18 @@ IN_PROC_BROWSER_TEST_P(PolicyPrefIndicatorTest, CheckPolicyIndicators) {
(*pref_mapping)->indicator_test_setup_js()));
}
+ // A non-empty indicator_test_url is expected to be used in very
+ // few cases, so it's currently implemented by navigating to the URL
+ // right before the test and navigating back afterwards.
+ // If you introduce many test cases with the same non-empty
+ // indicator_test_url, this would be inefficient. We could consider
+ // navigting to a specific indicator_test_url once for many test cases
+ // instead.
+ if (!(*pref_mapping)->indicator_test_url().empty()) {
+ ui_test_utils::NavigateToURL(
+ browser(), GURL((*pref_mapping)->indicator_test_url()));
+ }
+
std::string indicator_selector = (*pref_mapping)->indicator_selector();
if (indicator_selector.empty())
indicator_selector = "[pref=\"" + (*pref_mapping)->pref() + "\"]";
@@ -756,6 +776,9 @@ IN_PROC_BROWSER_TEST_P(PolicyPrefIndicatorTest, CheckPolicyIndicators) {
(*indicator_test_case)->readonly());
prefs->ClearPref((*pref_mapping)->pref().c_str());
}
+
+ if (!(*pref_mapping)->indicator_test_url().empty())
+ ui_test_utils::NavigateToURL(browser(), GURL(kMainSettingsPage));
}
}
}
« no previous file with comments | « chrome/browser/policy/policy_browsertest.cc ('k') | chrome/browser/resources/extensions/extensions.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698