| <html> |
| <head/> |
| <body> |
| <div id="description"/> |
| <div id="console"/> |
| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.waitUntilDone(); |
| } |
| |
| var console = document.getElementById("console"); |
| var maxCount = 30; |
| |
| function recieveMessage(evt) { |
| try { |
| var data = evt.data; |
| if (data.i == 0) { |
| console.innerHTML += "Done." |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| else { |
| if (data.i < maxCount) { |
| var success = true; |
| for (var j = data.i; j < maxCount; j++) { |
| success = success && data.a[j] == j; |
| if (data.a[j] != j) { |
| console.innerHTML += "Failure: data.i = " + data.i + " j = " + j + " data.a[j] = " + data.a[j] + "<br>"; |
| break; |
| } |
| } |
| if (data.a.foobar != "FooBar") |
| success = false; |
| if (data.a.length != maxCount) { |
| success = false; |
| console.innerHTML += "FAIL: i = " + data.i + " length = " + data.a.length; |
| } |
| if (success) |
| console.innerHTML += "PASS: i = " + data.i + "<br>"; |
| else |
| console.innerHTML += "FAIL: i = " + data.i + " array: " + JSON.stringify(data.a) + "<br>"; |
| } |
| var a = []; |
| for (var j = data.i - 1; j < maxCount; j++) { |
| a[j] = j; |
| }; |
| a.foobar = "FooBar"; |
| window.postMessage({i:data.i - 1, a:a}, '*'); |
| } |
| } catch (e) { |
| console.innerHTML += "Exception " + e + "<br>"; |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| } |
| window.addEventListener('message', recieveMessage, false); |
| |
| window.postMessage({i:maxCount}, '*'); |
| </script> |
| </body> |
| </html> |