gecko-dev/dom/workers/test/test_extensionBootstrap.xul

75 lines
2.4 KiB
XML

<?xml version="1.0"?>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<window title="DOM Worker Threads Test"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="test();">
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
<script type="application/javascript" src="dom_worker_helper.js"/>
<script type="application/javascript">
<![CDATA[
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/AddonManager.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
function test() {
const message = "woohoo";
var observer = {
observe: function(subject, topic, data) {
is(topic, "message", "Correct type of event");
is(data, message, "Correct message");
AddonManager.getAddonByID("workerbootstrap-test@mozilla.org",
function(addon) {
addon.uninstall();
const stages = [ "install", "startup", "shutdown", "uninstall" ];
const symbols = [ "Worker", "ChromeWorker" ];
for each (var stage in stages) {
for each (var symbol in symbols) {
is(Services.prefs.getBoolPref("workertest.bootstrap." + stage +
"." + symbol),
true,
"Symbol '" + symbol + "' present during '" + stage + "'");
}
}
SimpleTest.finish();
});
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver])
};
var workertestbootstrap = Cc["@mozilla.org/test/workertestbootstrap;1"].
createInstance(Ci.nsIObserver);
workertestbootstrap.observe(observer, "postMessage", message);
SimpleTest.waitForExplicitFinish();
}
]]>
</script>
<body xmlns="http://www.w3.org/1999/xhtml">
<p id="display"></p>
<div id="content" style="display:none;"></div>
<pre id="test"></pre>
</body>
<label id="test-result"/>
</window>