mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-07 04:05:49 +00:00
92 lines
2.5 KiB
JavaScript
92 lines
2.5 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
function run_test() {
|
|
do_test_pending();
|
|
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
|
|
startupManager();
|
|
|
|
prepare_test({ }, [
|
|
"onNewInstall"
|
|
]);
|
|
|
|
AddonManager.getInstallForFile(do_get_addon("test_bug675371"), function(install) {
|
|
ensure_test_completed();
|
|
|
|
do_check_neq(install, null);
|
|
|
|
prepare_test({
|
|
"bug675371@tests.mozilla.org": [
|
|
["onInstalling", false],
|
|
"onInstalled"
|
|
]
|
|
}, [
|
|
"onInstallStarted",
|
|
"onInstallEnded",
|
|
], callback_soon(check_test));
|
|
install.install();
|
|
});
|
|
}
|
|
|
|
function check_test() {
|
|
AddonManager.getAddonByID("bug675371@tests.mozilla.org", do_exception_wrap(function(addon) {
|
|
do_check_neq(addon, null);
|
|
do_check_true(addon.isActive);
|
|
|
|
// Tests that chrome.manifest is registered when the addon is installed.
|
|
var target = { active: false };
|
|
Services.scriptloader.loadSubScript("chrome://bug675371/content/test.js", target);
|
|
do_check_true(target.active);
|
|
|
|
prepare_test({
|
|
"bug675371@tests.mozilla.org": [
|
|
["onDisabling", false],
|
|
"onDisabled"
|
|
]
|
|
});
|
|
|
|
// Tests that chrome.manifest is unregistered when the addon is disabled.
|
|
addon.userDisabled = true;
|
|
target.active = false;
|
|
try {
|
|
Services.scriptloader.loadSubScript("chrome://bug675371/content/test.js", target);
|
|
do_throw("Chrome file should not have been found");
|
|
} catch (e) {
|
|
do_check_false(target.active);
|
|
}
|
|
|
|
prepare_test({
|
|
"bug675371@tests.mozilla.org": [
|
|
["onEnabling", false],
|
|
"onEnabled"
|
|
]
|
|
});
|
|
|
|
// Tests that chrome.manifest is registered when the addon is enabled.
|
|
addon.userDisabled = false;
|
|
target.active = false;
|
|
Services.scriptloader.loadSubScript("chrome://bug675371/content/test.js", target);
|
|
do_check_true(target.active);
|
|
|
|
prepare_test({
|
|
"bug675371@tests.mozilla.org": [
|
|
["onUninstalling", false],
|
|
"onUninstalled"
|
|
]
|
|
});
|
|
|
|
// Tests that chrome.manifest is unregistered when the addon is uninstalled.
|
|
addon.uninstall();
|
|
target.active = false;
|
|
try {
|
|
Services.scriptloader.loadSubScript("chrome://bug675371/content/test.js", target);
|
|
do_throw("Chrome file should not have been found");
|
|
} catch (e) {
|
|
do_check_false(target.active);
|
|
}
|
|
|
|
do_execute_soon(do_test_finished);
|
|
}));
|
|
}
|