Index: test/mjsunit/d8-worker.js |
diff --git a/test/mjsunit/d8-worker.js b/test/mjsunit/d8-worker.js |
index ef02ca5b405815ca5252886b4cfe46d4ead4dfbc..e10ffa1a02110b9a7ad8e6b250f6ee356d2cb776 100644 |
--- a/test/mjsunit/d8-worker.js |
+++ b/test/mjsunit/d8-worker.js |
@@ -29,65 +29,64 @@ |
// spawns a new OS thread and isolate, and runs it concurrently with the |
// current running thread. |
-function f() { |
- postMessage("Starting worker"); |
- // Set a global variable; should not be visible outside of the worker's |
- // context. |
- foo = 100; |
- |
- var c = 0; |
- onmessage = function(m) { |
- switch (c++) { |
- case 0: |
- if (m !== undefined) throw new Error("undefined"); |
- break; |
- case 1: |
- if (m !== null) throw new Error("null"); |
- break; |
- case 2: |
- if (m !== true) throw new Error("true"); |
- break; |
- case 3: |
- if (m !== false) throw new Error("false"); |
- break; |
- case 4: |
- if (m !== 100) throw new Error("Number"); |
- break; |
- case 5: |
- if (m !== "hi") throw new Error("String"); |
- break; |
- case 6: |
- if (JSON.stringify(m) !== '[4,true,"bye"]') throw new Error("Array"); |
- break; |
- case 7: |
- if (JSON.stringify(m) !== '{"a":1,"b":2.5,"c":"three"}') |
- throw new Error("Object"); |
- break; |
- case 8: |
- var ab = m; |
- var t = new Uint32Array(ab); |
- if (ab.byteLength !== 16) |
- throw new Error("ArrayBuffer clone byteLength"); |
- for (var i = 0; i < 4; ++i) |
- if (t[i] !== i) |
- throw new Error("ArrayBuffer clone value " + i); |
- break; |
- case 9: |
- var ab = m; |
- var t = new Uint32Array(ab); |
- if (ab.byteLength !== 32) |
- throw new Error("ArrayBuffer transfer byteLength"); |
- for (var i = 0; i < 8; ++i) |
- if (t[i] !== i) |
- throw new Error("ArrayBuffer transfer value " + i); |
- break; |
- } |
- |
- if (c == 10) { |
- postMessage("DONE"); |
- } |
- } |
-} |
+var workerScript = |
+ "postMessage('Starting worker');\n" + |
Jarin
2015/07/01 07:35:44
You might consider using the new shiny template st
binji
2015/07/01 16:13:53
Ah, I didn't know about this. Thanks!
|
+// Set a global variable; should not be visible outside of the worker's |
+// context. |
+ "foo = 100;\n" + |
+ "var c = 0;\n" + |
+ "onmessage = function(m) {\n" + |
+ " switch (c++) {\n" + |
+ " case 0:\n" + |
+ " if (m !== undefined) throw new Error('undefined');\n" + |
+ " break;\n" + |
+ " case 1:\n" + |
+ " if (m !== null) throw new Error('null');\n" + |
+ " break;\n" + |
+ " case 2:\n" + |
+ " if (m !== true) throw new Error('true');\n" + |
+ " break;\n" + |
+ " case 3:\n" + |
+ " if (m !== false) throw new Error('false');\n" + |
+ " break;\n" + |
+ " case 4:\n" + |
+ " if (m !== 100) throw new Error('Number');\n" + |
+ " break;\n" + |
+ " case 5:\n" + |
+ " if (m !== 'hi') throw new Error('String');\n" + |
+ " break;\n" + |
+ " case 6:\n" + |
+ " if (JSON.stringify(m) !== '[4,true,\"bye\"]') {\n" + |
+ " throw new Error('Array');\n" + |
+ " }\n" + |
+ " break;\n" + |
+ " case 7:\n" + |
+ " if (JSON.stringify(m) !== \"{'a':1,'b':2.5,'c':'three'}\")\n" + |
+ " throw new Error('Object');\n" + |
+ " break;\n" + |
+ " case 8:\n" + |
+ " var ab = m;\n" + |
+ " var t = new Uint32Array(ab);\n" + |
+ " if (ab.byteLength !== 16)\n" + |
+ " throw new Error('ArrayBuffer clone byteLength');\n" + |
+ " for (var i = 0; i < 4; ++i)\n" + |
+ " if (t[i] !== i)\n" + |
+ " throw new Error('ArrayBuffer clone value ' + i);\n" + |
+ " break;\n" + |
+ " case 9:\n" + |
+ " var ab = m;\n" + |
+ " var t = new Uint32Array(ab);\n" + |
+ " if (ab.byteLength !== 32)\n" + |
+ " throw new Error('ArrayBuffer transfer byteLength');\n" + |
+ " for (var i = 0; i < 8; ++i)\n" + |
+ " if (t[i] !== i)\n" + |
+ " throw new Error('ArrayBuffer transfer value ' + i);\n" + |
+ " break;\n" + |
+ " }\n" + |
+ " if (c == 10) {\n" + |
+ " postMessage('DONE');\n" + |
+ " }\n" + |
+ "}\n"; |
if (this.Worker) { |
@@ -99,7 +98,7 @@ if (this.Worker) { |
return ab; |
} |
- var w = new Worker(f); |
+ var w = new Worker(workerScript); |
assertEquals("Starting worker", w.getMessage()); |
@@ -132,8 +131,7 @@ if (this.Worker) { |
// Make sure that the main thread doesn't block forever in getMessage() if |
// the worker dies without posting a message. |
- function f2() {} |
- var w2 = new Worker(f2); |
+ var w2 = new Worker(''); |
var msg = w2.getMessage(); |
assertEquals(undefined, msg); |
} |