diff --git a/toolkit/components/extensions/test/mochitest/chrome.ini b/toolkit/components/extensions/test/mochitest/chrome.ini index 70ab3c37816c..d9ca44b6cb10 100644 --- a/toolkit/components/extensions/test/mochitest/chrome.ini +++ b/toolkit/components/extensions/test/mochitest/chrome.ini @@ -21,7 +21,6 @@ skip-if = (os == 'android') # browser.tabs is undefined. Bug 1258975 on android. [test_chrome_ext_trustworthy_origin.html] [test_chrome_ext_webnavigation_resolved_urls.html] skip-if = (os == 'android') # browser.tabs is undefined. Bug 1258975 on android. -[test_chrome_ext_shutdown_cleanup.html] [test_chrome_native_messaging_paths.html] skip-if = os != "mac" && os != "linux" [test_ext_cookies_expiry.html] diff --git a/toolkit/components/extensions/test/mochitest/test_chrome_ext_shutdown_cleanup.html b/toolkit/components/extensions/test/mochitest/test_chrome_ext_shutdown_cleanup.html deleted file mode 100644 index f98434145943..000000000000 --- a/toolkit/components/extensions/test/mochitest/test_chrome_ext_shutdown_cleanup.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - WebExtension test - - - - - - - - - - - - diff --git a/toolkit/components/extensions/test/xpcshell/test_ext_shutdown_cleanup.js b/toolkit/components/extensions/test/xpcshell/test_ext_shutdown_cleanup.js new file mode 100644 index 000000000000..c0ce21335be7 --- /dev/null +++ b/toolkit/components/extensions/test/xpcshell/test_ext_shutdown_cleanup.js @@ -0,0 +1,30 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ + +"use strict"; + +const {GlobalManager} = Cu.import("resource://gre/modules/Extension.jsm", {}); + +add_task(function* test_global_manager_shutdown_cleanup() { + equal(GlobalManager.initialized, false, + "GlobalManager start as not initialized"); + + function background() { + browser.test.notifyPass("background page loaded"); + } + + let extension = ExtensionTestUtils.loadExtension({ + background, + }); + + yield extension.startup(); + yield extension.awaitFinish("background page loaded"); + + equal(GlobalManager.initialized, true, + "GlobalManager has been initialized once an extension is started"); + + yield extension.unload(); + + equal(GlobalManager.initialized, false, + "GlobalManager has been uninitialized once all the webextensions have been stopped"); +}); diff --git a/toolkit/components/extensions/test/xpcshell/xpcshell.ini b/toolkit/components/extensions/test/xpcshell/xpcshell.ini index 085d5c23a138..4f3ec224c995 100644 --- a/toolkit/components/extensions/test/xpcshell/xpcshell.ini +++ b/toolkit/components/extensions/test/xpcshell/xpcshell.ini @@ -58,6 +58,7 @@ skip-if = release_or_beta [test_ext_schemas_api_injection.js] [test_ext_schemas_async.js] [test_ext_schemas_allowed_contexts.js] +[test_ext_shutdown_cleanup.js] [test_ext_simple.js] [test_ext_storage.js] [test_ext_storage_sync.js]