diff options
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_isReady.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/xpcshell/test_isReady.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_isReady.js b/toolkit/mozapps/extensions/test/xpcshell/test_isReady.js new file mode 100644 index 0000000000..0bd1aa61ce --- /dev/null +++ b/toolkit/mozapps/extensions/test/xpcshell/test_isReady.js @@ -0,0 +1,71 @@ +createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); + +add_task(async function() { + equal(AddonManager.isReady, false, "isReady should be false before startup"); + + let gotStartupEvent = false; + let gotShutdownEvent = false; + let listener = { + onStartup() { + gotStartupEvent = true; + }, + onShutdown() { + gotShutdownEvent = true; + }, + }; + AddonManager.addManagerListener(listener); + + info("Starting manager..."); + await promiseStartupManager(); + equal(AddonManager.isReady, true, "isReady should be true after startup"); + equal( + gotStartupEvent, + true, + "Should have seen onStartup event after startup" + ); + equal( + gotShutdownEvent, + false, + "Should not have seen onShutdown event before shutdown" + ); + + gotStartupEvent = false; + gotShutdownEvent = false; + + info("Shutting down manager..."); + await promiseShutdownManager(); + + equal(AddonManager.isReady, false, "isReady should be false after shutdown"); + equal( + gotStartupEvent, + false, + "Should not have seen onStartup event after shutdown" + ); + equal( + gotShutdownEvent, + true, + "Should have seen onShutdown event after shutdown" + ); + + AddonManager.addManagerListener(listener); + gotStartupEvent = false; + gotShutdownEvent = false; + + info("Starting manager again..."); + await promiseStartupManager(); + equal( + AddonManager.isReady, + true, + "isReady should be true after repeat startup" + ); + equal( + gotStartupEvent, + true, + "Should have seen onStartup event after repeat startup" + ); + equal( + gotShutdownEvent, + false, + "Should not have seen onShutdown event before shutdown, following repeat startup" + ); +}); |