| <p> |
| This page verifies that timers with equivalent fire times fire in the order they |
| were registered. If the test passes, you'll see a series of PASS messages below. |
| </p> |
| |
| <pre id="pre"></pre> |
| |
| <script> |
| function log(s) |
| { |
| document.getElementById("pre").appendChild(document.createTextNode(s + "\r\n")); |
| } |
| |
| function shouldBe(a, aDescription, b) |
| { |
| if (a === b) { |
| log("PASS: " + aDescription + " should be " + b + " and is."); |
| } else { |
| log("FAIL: " + aDescription + " should be " + b + " but instead is " + a + "."); |
| } |
| } |
| |
| var count = 100; |
| var firedTimers = []; |
| |
| function fired(id) |
| { |
| firedTimers.push(id); |
| if (id == count - 1) |
| done(); |
| } |
| |
| function done() |
| { |
| for (var i = 0; i < count; ++i) |
| shouldBe(firedTimers[i], "firedTimers[" + i + "]", i); |
| |
| if (window.layoutTestController) |
| layoutTestController.notifyDone(); |
| } |
| |
| if (window.layoutTestController) { |
| layoutTestController.dumpAsText(); |
| layoutTestController.waitUntilDone(); |
| } |
| |
| for (var i = 0; i < count; ++i) |
| setTimeout((function() { var j = i; return function() { fired(j); }})(), 0); |
| </script> |