Bug 1317270 - Allow to set preference values on the default branch. r=maja_zf

MozReview-Commit-ID: BOUMMmmGwrX

--HG--
extra : rebase_source : d3f2adf80511835ed7673b44540c66c43175c3cc
This commit is contained in:
Henrik Skupin 2016-11-14 14:13:04 +01:00
Родитель 296c2dc383
Коммит d2e409c560
2 изменённых файлов: 32 добавлений и 5 удалений

Просмотреть файл

@ -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)

Просмотреть файл

@ -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