From d2e409c56093a844a40f70e371fcd9b6da9947e5 Mon Sep 17 00:00:00 2001 From: Henrik Skupin Date: Mon, 14 Nov 2016 14:13:04 +0100 Subject: [PATCH] Bug 1317270 - Allow to set preference values on the default branch. r=maja_zf MozReview-Commit-ID: BOUMMmmGwrX --HG-- extra : rebase_source : d3f2adf80511835ed7673b44540c66c43175c3cc --- .../firefox-ui/tests/puppeteer/test_prefs.py | 18 ++++++++++++++++++ .../firefox/firefox_puppeteer/api/prefs.py | 19 ++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/testing/firefox-ui/tests/puppeteer/test_prefs.py b/testing/firefox-ui/tests/puppeteer/test_prefs.py index 25a83f5069b5..58c6d41bf45b 100644 --- a/testing/firefox-ui/tests/puppeteer/test_prefs.py +++ b/testing/firefox-ui/tests/puppeteer/test_prefs.py @@ -145,3 +145,21 @@ class testPreferences(PuppeteerMixin, MarionetteTestCase): # Remove when all self.marionette methods are implemented # Please see Bug 1293588 self.marionette.clear_pref(self.string_pref) + + def test_set_pref_default_branch(self): + orig_value = self.puppeteer.prefs.get_pref(self.string_pref, default_branch=True) + + try: + self.puppeteer.prefs.set_pref(self.string_pref, 'default', default_branch=True) + self.assertEqual(self.puppeteer.prefs.get_pref(self.string_pref), 'default') + + self.puppeteer.prefs.set_pref(self.string_pref, 'user') + self.assertEqual(self.puppeteer.prefs.get_pref(self.string_pref), 'user') + self.assertEqual(self.puppeteer.prefs.get_pref(self.string_pref, default_branch=True), + 'default') + + self.marionette.clear_pref(self.string_pref) + self.assertEqual(self.puppeteer.prefs.get_pref(self.string_pref), 'default') + + finally: + self.puppeteer.prefs.set_pref(self.string_pref, orig_value, default_branch=True) diff --git a/testing/puppeteer/firefox/firefox_puppeteer/api/prefs.py b/testing/puppeteer/firefox/firefox_puppeteer/api/prefs.py index 1d89ad11544d..ddd5a8cf53f5 100644 --- a/testing/puppeteer/firefox/firefox_puppeteer/api/prefs.py +++ b/testing/puppeteer/firefox/firefox_puppeteer/api/prefs.py @@ -100,7 +100,7 @@ class Preferences(BaseLib): } """, script_args=[pref_name]) - def set_pref(self, pref_name, value): + def set_pref(self, pref_name, value, default_branch=False): """Sets a preference to a specified value. To set the value of a preference its name has to be specified. @@ -111,6 +111,9 @@ class Preferences(BaseLib): :param pref_name: The preference to set :param value: The value to set the preference to + :param default_branch: Optional, flag to use the default branch, + default to `False` + """ assert pref_name is not None assert value is not None @@ -122,10 +125,16 @@ class Preferences(BaseLib): retval = self.marionette.execute_script(""" Components.utils.import("resource://gre/modules/Services.jsm"); - let prefBranch = Services.prefs; - let pref_name = arguments[0]; - let value = arguments[1]; + let [pref_name, value, default_branch] = arguments; + + let prefBranch; + if (default_branch) { + prefBranch = Services.prefs.getDefaultBranch(""); + } + else { + prefBranch = Services.prefs; + } let type = prefBranch.getPrefType(pref_name); @@ -161,6 +170,6 @@ class Preferences(BaseLib): } return true; - """, script_args=[pref_name, value]) + """, script_args=[pref_name, value, default_branch]) assert retval