<p>This test verifies that an exception thrown during array sort immediately ends execution.</p>
<p>If the test passes, you'll see a pass message below.</p>

<pre id="console">FAIL: Exception did not propogate from array sort.</pre>

<script>
function log(s)
{
    document.getElementById("console").innerHTML = s + "\n";
}

if (window.testRunner)
    testRunner.dumpAsText();

var passed = true;

var array = [ 1, 2, 3 ];
var sortFunction = (function () {
    var alreadyCalled = false;
    return function (a, b)
    {
        if (alreadyCalled)
            passed = false;

        alreadyCalled = true;
        throw 'threw';
    };
})();

try {
    array.sort(sortFunction);
} catch(e) {
    var result = passed ? "PASS"
                        : "FAIL: sort function was called after an exception was thrown"
    log (result);
}
</script>
