<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> |