63 lines
1.8 KiB
HTML
63 lines
1.8 KiB
HTML
<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>
|