38 lines
845 B
HTML
38 lines
845 B
HTML
<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>
|