dom/workers/test/test_extensionBootstrap.xul

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:8153283f44e8
1 <?xml version="1.0"?>
2 <!--
3 Any copyright is dedicated to the Public Domain.
4 http://creativecommons.org/publicdomain/zero/1.0/
5 -->
6 <window title="DOM Worker Threads Test"
7 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
8 onload="test();">
9
10 <script type="application/javascript"
11 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
12 <script type="application/javascript"
13 src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
14 <script type="application/javascript" src="dom_worker_helper.js"/>
15
16 <script type="application/javascript">
17 <![CDATA[
18
19 const Cc = Components.classes;
20 const Ci = Components.interfaces;
21 const Cu = Components.utils;
22
23 Cu.import("resource://gre/modules/AddonManager.jsm");
24 Cu.import("resource://gre/modules/Services.jsm");
25 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
26
27 function test() {
28 const message = "woohoo";
29
30 var observer = {
31 observe: function(subject, topic, data) {
32 is(topic, "message", "Correct type of event");
33 is(data, message, "Correct message");
34
35 AddonManager.getAddonByID("workerbootstrap-test@mozilla.org",
36 function(addon) {
37 addon.uninstall();
38
39 const stages = [ "install", "startup", "shutdown", "uninstall" ];
40 const symbols = [ "Worker", "ChromeWorker" ];
41
42 for each (var stage in stages) {
43 for each (var symbol in symbols) {
44 is(Services.prefs.getBoolPref("workertest.bootstrap." + stage +
45 "." + symbol),
46 true,
47 "Symbol '" + symbol + "' present during '" + stage + "'");
48 }
49 }
50
51 SimpleTest.finish();
52 });
53 },
54 QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver])
55 };
56
57 var workertestbootstrap = Cc["@mozilla.org/test/workertestbootstrap;1"].
58 createInstance(Ci.nsIObserver);
59
60 workertestbootstrap.observe(observer, "postMessage", message);
61
62 SimpleTest.waitForExplicitFinish();
63 }
64
65 ]]>
66 </script>
67
68 <body xmlns="http://www.w3.org/1999/xhtml">
69 <p id="display"></p>
70 <div id="content" style="display:none;"></div>
71 <pre id="test"></pre>
72 </body>
73 <label id="test-result"/>
74 </window>

mercurial