Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 <!--
2 Any copyright is dedicated to the Public Domain.
3 http://creativecommons.org/publicdomain/zero/1.0/
4 -->
5 <!DOCTYPE HTML>
6 <html>
7 <!--
8 Test javascript.options.strict in Workers
9 -->
10 <head>
11 <title>Test javascript.options.strict in Workers</title>
12 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
13 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
14 </head>
15 <body>
16 <p id="display"></p>
17 <div id="content" style="display: none">
19 </div>
20 <pre id="test">
21 <script class="testbody" language="javascript">
23 var errors = 0;
24 function errorHandler(e) {
25 ok(true, "An error has been received!");
26 errors++;
27 }
29 function test_noErrors() {
30 errors = 0;
32 var worker = new Worker('errorwarning_worker.js');
33 worker.onerror = errorHandler;
34 worker.onmessage = function(e) {
35 if (e.data.type == 'ignore')
36 return;
38 if (e.data.type == 'error') {
39 errorHandler();
40 return;
41 }
43 if (e.data.type == 'finish') {
44 ok(errors == 0, "Here we are with 0 errors!");
45 runTests();
46 return;
47 }
48 }
50 onerror = errorHandler;
51 worker.postMessage({ loop: 5, errors: false });
52 }
54 function test_errors() {
55 errors = 0;
57 var worker = new Worker('errorwarning_worker.js');
58 worker.onerror = errorHandler;
59 worker.onmessage = function(e) {
60 if (e.data.type == 'ignore')
61 return;
63 if (e.data.type == 'error') {
64 errorHandler();
65 return;
66 }
68 if (e.data.type == 'finish') {
69 ok(errors != 0, "Here we are with errors!");
70 runTests();
71 return;
72 }
73 }
75 onerror = errorHandler;
76 worker.postMessage({ loop: 5, errors: true });
77 }
79 var tests = [ test_noErrors, test_errors ];
80 function runTests() {
81 var test = tests.shift();
82 if (test) {
83 test();
84 } else {
85 SimpleTest.finish();
86 }
87 }
89 runTests();
90 SimpleTest.waitForExplicitFinish();
92 </script>
93 </pre>
94 </body>
95 </html>