diff options
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_corruptfile.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/xpcshell/test_corruptfile.js | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_corruptfile.js b/toolkit/mozapps/extensions/test/xpcshell/test_corruptfile.js deleted file mode 100644 index 92b375850..000000000 --- a/toolkit/mozapps/extensions/test/xpcshell/test_corruptfile.js +++ /dev/null @@ -1,83 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// Tests that attempting to install a corrupt XPI file doesn't break the universe - -const profileDir = gProfD.clone(); -profileDir.append("extensions"); - -function run_test() { - createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1"); - - startupManager(); - - if (TEST_UNPACKED) - run_test_unpacked(); - else - run_test_packed(); -} - -// When installing packed we won't detect corruption in the XPI until we attempt -// to load bootstrap.js so everything will look normal from the outside. -function run_test_packed() { - do_test_pending(); - - prepare_test({ - "corrupt@tests.mozilla.org": [ - ["onInstalling", false], - ["onInstalled", false] - ] - }, [ - "onNewInstall", - "onInstallStarted", - "onInstallEnded" - ]); - - installAllFiles([do_get_file("data/corruptfile.xpi")], function() { - ensure_test_completed(); - - AddonManager.getAddonByID("corrupt@tests.mozilla.org", function(addon) { - do_check_neq(addon, null); - - do_test_finished(); - }); - }); -} - -// When extracting the corruption will be detected and the add-on fails to -// install -function run_test_unpacked() { - do_test_pending(); - - prepare_test({ - "corrupt@tests.mozilla.org": [ - ["onInstalling", false], - "onOperationCancelled" - ] - }, [ - "onNewInstall", - "onInstallStarted", - "onInstallFailed" - ]); - - installAllFiles([do_get_file("data/corruptfile.xpi")], function() { - ensure_test_completed(); - - // Check the add-on directory isn't left over - var addonDir = profileDir.clone(); - addonDir.append("corrupt@tests.mozilla.org"); - pathShouldntExist(addonDir); - - // Check the staging directory isn't left over - var stageDir = profileDir.clone(); - stageDir.append("staged"); - pathShouldntExist(stageDir); - - AddonManager.getAddonByID("corrupt@tests.mozilla.org", function(addon) { - do_check_eq(addon, null); - - do_test_finished(); - }); - }); -} |