OLD | NEW |
1 function runTests(event) { | 1 function runTests(event) { |
2 var tests = event.data; | 2 var tests = event.data; |
3 var results = []; | 3 var results = []; |
4 for (var i = 0; i < tests.length; i++) { | 4 for (var i = 0; i < tests.length; i++) { |
5 try { | 5 try { |
6 results.push(eval(tests[i])); | 6 results.push(eval(tests[i])); |
7 } catch(e) { | 7 } catch(e) { |
8 results.push(e); | 8 results.push(e); |
9 } | 9 } |
10 } | 10 } |
11 return results; | 11 return results; |
12 } | 12 } |
13 | 13 |
14 self.onmessage = function(event) { | 14 self.onmessage = function(event) { |
15 var results = runTests(event); | 15 var results = runTests(event); |
16 postMessage(results); | 16 postMessage(results); |
17 self.close(); | 17 self.close(); |
18 }; | 18 }; |
19 | 19 |
20 self.addEventListener("connect", function(event) { | 20 self.addEventListener("connect", function(event) { |
21 var port = event.ports[0]; | 21 var port = event.ports[0]; |
22 port.onmessage = function(event) { | 22 port.onmessage = function(event) { |
23 var results = runTests(event); | 23 var results = runTests(event); |
24 port.postMessage(results); | 24 port.postMessage(results); |
25 }; | 25 }; |
26 }); | 26 }); |
| 27 |
| 28 // Stringifies a DOM object. This function stringifies not only own properties |
| 29 // but also DOM attributes which are on a prototype chain. Note that |
| 30 // JSON.stringify only stringifies own properties. |
| 31 function stringifyDOMObject(domObject) { |
| 32 var object = {}; |
| 33 for (var property in domObject) { |
| 34 object[property] = domObject[property]; |
| 35 } |
| 36 return JSON.stringify(object); |
| 37 } |
OLD | NEW |