Bug 462525 - username truncation code is unnecessarily duplicated in nsLoginManagerP...
[wine-gecko.git] / dom / src / threads / test / test_threadErrors.html
blob48ff828952dd87e083a1e6dd4e1cd7c8a1530cc2
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 Tests of DOM Worker Threads (Bug 437152)
5 -->
6 <head>
7 <title>Test for DOM Worker Threads (Bug 437152)</title>
8 <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
9 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
11 </head>
12 <body>
13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=437152">DOM Worker Threads Bug 437152</a>
14 <p id="display"></p>
15 <div id="content" style="display: none">
17 </div>
18 <pre id="test">
19 <script class="testbody" type="text/javascript">
21 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
23 var prefs = Components.classes["@mozilla.org/preferences-service;1"].
24 getService(Components.interfaces.nsIPrefBranch);
25 //prefs.setIntPref("javascript.options.gczeal", 2);
27 var badWorkerScripts = [
28 // Syntax error
29 "function messageListener(message, source) { " +
30 " for (var i = 0; i < 10) { } " +
31 "} " +
32 "",
34 // Bad function error
35 "function messageListener(message, source) { " +
36 " foopy(); " +
37 "} " +
38 "",
40 // Unhandled exception in body
41 "function messageListener(message, source) { " +
42 "} " +
43 "throw new Error('Bah!'); " +
44 "",
46 // Throwing message listener
47 "function messageListener(message, source) { " +
48 " throw 'Bad message: ' + message; " +
49 "} " +
53 var expectedErrorCount = badWorkerScripts.length;
55 var pool = navigator.newWorkerPool();
57 pool.messageListener = function(message, source) {
58 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
60 prefs.setIntPref("javascript.options.gczeal", 0);
61 ok(false, "Unexpected message");
62 SimpleTest.finish();
65 var actualErrorCount = 0;
66 var failedWorkers = [];
68 pool.errorListener = function(error, source) {
69 netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
71 if (failedWorkers.indexOf(source) != -1) {
72 dump("Already seen worker: " + source + "\n");
73 ok(false, "Seen an extra error from this worker");
74 prefs.setIntPref("javascript.options.gczeal", 0);
75 SimpleTest.finish();
76 return;
79 failedWorkers.push(source);
80 actualErrorCount++;
82 if (actualErrorCount == expectedErrorCount) {
83 prefs.setIntPref("javascript.options.gczeal", 0);
84 SimpleTest.finish();
88 for (var i = 0; i < expectedErrorCount; i++) {
89 var worker = pool.createWorker(badWorkerScripts[i]);
90 worker.postMessage("Hi");
93 SimpleTest.waitForExplicitFinish();
94 </script>
95 </pre>
96 </body>
97 </html>