blob: 14257bcdc6b35e38e5ea1c7b3dfb30b40786cf27 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<p>Test setTimeOut,fired in decreasing order in Web Workers.</p>
<div id="result"></div>
<script type="text/javascript">
function log(message)
{
document.getElementById("result").innerHTML += message + "</br>";
}
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
var worker = new Worker('resources/worker-timeout-decreasing-order.js');
// Start the first test of settimeout's
var lastTestResult = 0;
var testCounterLimit = 3;
var timerLimit = 3;
var testStarted = false;
var testAlreadyFailed = false;
worker.postMessage("TS");
worker.onmessage = function(evt) {
if(testStarted) {
var currentNum = evt.data;
if(lastTestResult == currentNum - 1 && !testAlreadyFailed) {
lastTestResult = currentNum;
--timerLimit;
// we got all the results in order
if(lastTestResult == testCounterLimit && timerLimit == 0)
log("PASS: Timeouts executed in order.");
}
else {
testAlreadyFailed = true;
--timerLimit;
if(timerLimit == 0)
log("FAIL: Timeouts executed out of order.");
}
}
if(evt.data == "Test started.") {
log(evt.data);
testStarted = true;
}
if (evt.data == "DONE") {
log("DONE.");
if (window.testRunner)
testRunner.notifyDone();
}
}
</script>
</body>
</html>