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