| <p>This page tests the evaluated value of a while expression.</p> |
| <pre id="console"></pre> |
| |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function log(s) |
| { |
| document.getElementById("console").appendChild(document.createTextNode(s + "\n")); |
| } |
| |
| function shouldBe(a, b) |
| { |
| var evalA; |
| try { |
| evalA = eval(a); |
| } catch(e) { |
| evalA = e; |
| } |
| |
| if (evalA === b) { |
| log("PASS: " + a + " should be " + b + " and is."); |
| } else { |
| log("FAIL: " + a + " should be " + b + " but instead is " + evalA + "."); |
| } |
| } |
| |
| var x, condition; |
| |
| condition = true; |
| x = eval("while (condition) { condition = false; 1; }"); |
| shouldBe("x", 1); |
| |
| condition = true; |
| var x = eval("while (condition) { condition = false; 1; break; }"); |
| shouldBe("x", 1); |
| |
| condition = true; |
| var x = eval("while (condition) { condition = false; 1; continue; }"); |
| shouldBe("x", 1); |
| |
| condition = true; |
| var x = eval("while (condition) { condition = false; 1; ; }"); |
| shouldBe("x", 1); |
| |
| </script> |