<p>This page verifies that eval can be overridden.</p>
<p>If the test passes, you'll see a series of pass messages below.</p>
<pre id="console"></pre>
<hr>

<script>
if (window.layoutTestController)
    layoutTestController.dumpAsText();
    
var x = "built-in eval";

function log(s)
{
    document.getElementById("console").appendChild(document.createTextNode(s + "\n"));
}

function shouldBe(aDescription, a, b)
{
    if (a === b) {
        log("PASS: " + aDescription + " should be " + b + " and is.");
    } else {
        log("FAIL: " + aDescription + " should be " + b + " but instead is " + a + ".");
    }
}

// Test overriding eval in global scope
eval = function() { return "global-scope eval override"; }
shouldBe('eval("x")', eval("x"), "global-scope eval override");

// Test overriding eval using "with"
with ({ eval: function() { return "with-scope eval override"; }}) {
    shouldBe('eval("x")', eval("x"), "with-scope eval override");
}

// Test overriding eval using "catch"
try {
    throw function() { return "catch-scope eval override"; };
} catch(eval) {
    shouldBe('eval("x")', eval("x"), "catch-scope eval override");
}

// Test overriding eval using locally declared function
(function()
{
    function eval() { return "local-scope eval override"; }
    shouldBe('eval("x")', eval("x"), "local-scope eval override");
})()
</script>
