зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1594584 - Marionette test for autoconfig. r=whimboo,kmag
Differential Revision: https://phabricator.services.mozilla.com/D52106 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
d130f41722
Коммит
fcf89c6721
|
@ -7,3 +7,5 @@
|
|||
DIRS += ['src']
|
||||
|
||||
XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini']
|
||||
|
||||
MARIONETTE_UNIT_MANIFESTS += ['test/marionette/manifest.ini']
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
// # don't remove this comment! (the first line is ignored by Mozilla)
|
||||
|
||||
// Verify this one has a user value
|
||||
pref("_autoconfig_.test.userpref", "userpref");
|
||||
|
||||
// Verify this one has a default pref
|
||||
defaultPref("_autoconfig_.test.defaultpref", "defaultpref");
|
||||
|
||||
// Verify this one is locked
|
||||
lockPref("_autoconfig_.test.lockpref", "lockpref");
|
||||
|
||||
lockPref("_autoconfig_.test.unlockpref", "unlockpref");
|
||||
// Verify this one is unlocked
|
||||
unlockPref("_autoconfig_.test.unlockpref");
|
||||
|
||||
pref("_autoconfig_.test.clearpref", "clearpref");
|
||||
// Verify this one has no value
|
||||
clearPref("_autoconfig_.test.clearpref");
|
|
@ -0,0 +1,5 @@
|
|||
/* global pref */
|
||||
pref("general.config.sandbox_enabled", true);
|
||||
pref("general.config.filename", "autoconfig.cfg");
|
||||
pref("general.config.vendor", "autoconfig");
|
||||
pref("general.config.obscure_value", 0);
|
|
@ -0,0 +1 @@
|
|||
[test_autoconfig.py]
|
|
@ -0,0 +1,76 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from marionette_harness import MarionetteTestCase
|
||||
|
||||
|
||||
class TestAutoConfig(MarionetteTestCase):
|
||||
|
||||
def tearDown(self):
|
||||
self.marionette.quit(clean=True)
|
||||
|
||||
if hasattr(self, 'pref_file'):
|
||||
os.remove(self.pref_file)
|
||||
if hasattr(self, 'autoconfig_file'):
|
||||
os.remove(self.autoconfig_file)
|
||||
|
||||
super(TestAutoConfig, self).tearDown()
|
||||
|
||||
def pref_has_user_value(self, pref):
|
||||
with self.marionette.using_context("chrome"):
|
||||
return self.marionette.execute_script("""
|
||||
return Services.prefs.prefHasUserValue(arguments[0]);
|
||||
""", script_args=(pref,))
|
||||
|
||||
def pref_is_locked(self, pref):
|
||||
with self.marionette.using_context("chrome"):
|
||||
return self.marionette.execute_script("""
|
||||
return Services.prefs.prefIsLocked(arguments[0]);
|
||||
""", script_args=(pref,))
|
||||
|
||||
def test_autoconfig(self):
|
||||
with self.marionette.using_context("chrome"):
|
||||
self.exe_dir = self.marionette.execute_script("""
|
||||
return Services.dirsvc.get("GreD", Ci.nsIFile).path;
|
||||
""")
|
||||
|
||||
self.marionette.quit()
|
||||
|
||||
test_dir = os.path.dirname(__file__)
|
||||
self.pref_file = os.path.join(self.exe_dir, "defaults", "pref", "autoconfig.js")
|
||||
shutil.copyfile(os.path.join(test_dir, "autoconfig.js"), self.pref_file)
|
||||
self.autoconfig_file = os.path.join(self.exe_dir, "autoconfig.cfg")
|
||||
shutil.copyfile(os.path.join(test_dir, "autoconfig.cfg"), self.autoconfig_file)
|
||||
|
||||
self.marionette.start_session()
|
||||
|
||||
with self.marionette.using_context("chrome"):
|
||||
self.assertTrue(self.pref_has_user_value("_autoconfig_.test.userpref"),
|
||||
"Pref should have user value")
|
||||
|
||||
self.assertEqual(self.marionette.get_pref("_autoconfig_.test.userpref"),
|
||||
"userpref", "User pref should be set")
|
||||
|
||||
self.assertEqual(self.marionette.get_pref("_autoconfig_.test.defaultpref", True),
|
||||
"defaultpref", "Default pref should be set")
|
||||
|
||||
self.assertTrue(self.pref_is_locked("_autoconfig_.test.lockpref"),
|
||||
"Pref should be locked")
|
||||
|
||||
self.assertEqual(self.marionette.get_pref("_autoconfig_.test.lockpref"),
|
||||
"lockpref", "Locked pref should be set")
|
||||
|
||||
self.assertFalse(self.pref_is_locked("_autoconfig_.test.unlockpref"),
|
||||
"Pref should be unlocked")
|
||||
|
||||
self.assertEqual(self.marionette.get_pref("_autoconfig_.test.unlockpref"),
|
||||
"unlockpref", "Unlocked pref should be set")
|
||||
|
||||
self.assertFalse(self.pref_has_user_value("_autoconfig_.test.clearpref"),
|
||||
"Pref should be cleared")
|
|
@ -12,3 +12,6 @@
|
|||
|
||||
# searchservice tests
|
||||
[include:../../../../../browser/components/search/test/marionette/manifest.ini]
|
||||
|
||||
# autoconfig tests
|
||||
[include:../../../../../extensions/pref/autoconfig/test/marionette/manifest.ini]
|
||||
|
|
Загрузка…
Ссылка в новой задаче