| <p>This page tests the evaluated value of a do-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; |
| |
| x = eval("do { 1; } while(0);"); |
| shouldBe("x", 1); |
| |
| var x = eval("do { 1; break; } while(0);"); |
| shouldBe("x", 1); |
| |
| var x = eval("do { 1; continue; } while(0);"); |
| shouldBe("x", 1); |
| |
| var x = eval("do { 1; ; } while(0);"); |
| shouldBe("x", 1); |
| |
| </script> |