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