diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_pass_symbol.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_pass_symbol.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_pass_symbol.js b/toolkit/mozapps/webextensions/test/xpcshell/test_pass_symbol.js new file mode 100644 index 0000000000..657601e45e --- /dev/null +++ b/toolkit/mozapps/webextensions/test/xpcshell/test_pass_symbol.js @@ -0,0 +1,43 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +const PASS_PREF = "symboltest.instanceid.pass"; +const FAIL_BOGUS_PREF = "symboltest.instanceid.fail_bogus"; +const FAIL_ID_PREF = "symboltest.instanceid.fail_bogus"; +const ADDON_ID = "test_symbol@tests.mozilla.org"; + +createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "42"); +startupManager(); + +BootstrapMonitor.init(); + +// symbol is passed when add-on is installed +add_task(function*() { + for (let pref of [PASS_PREF, FAIL_BOGUS_PREF, FAIL_ID_PREF]) + Services.prefs.clearUserPref(pref); + + yield promiseInstallAllFiles([do_get_addon("test_symbol")], true); + + let addon = yield promiseAddonByID(ADDON_ID); + + do_check_neq(addon, null); + do_check_eq(addon.version, "1.0"); + do_check_eq(addon.name, "Test Symbol"); + do_check_true(addon.isCompatible); + do_check_false(addon.appDisabled); + do_check_true(addon.isActive); + do_check_eq(addon.type, "extension"); + + // most of the test is in bootstrap.js in the addon because BootstrapMonitor + // currently requires the objects in `data` to be serializable, and we + // need a real reference to the symbol to test this. + do_execute_soon(function() { + // give the startup time to run + do_check_true(Services.prefs.getBoolPref(PASS_PREF)); + do_check_true(Services.prefs.getBoolPref(FAIL_BOGUS_PREF)); + do_check_true(Services.prefs.getBoolPref(FAIL_ID_PREF)); + }); + + yield promiseRestartManager(); +}); |