| <body> |
| You should see 9 OKs below (and not hang): <br> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| var body = document.body; |
| var selection = window.getSelection(); |
| |
| function shouldThrowIndexSizeErrorException(script) |
| { |
| try { |
| eval(script); |
| } catch (e) { |
| document.write(((e.code == DOMException.INDEX_SIZE_ERR) ? "OK" : "FAIL") + "<br>"); |
| } |
| } |
| |
| shouldThrowIndexSizeErrorException("selection.collapse(body, -1);"); |
| shouldThrowIndexSizeErrorException("selection.setBaseAndExtent(body, -1, body, 0);"); |
| shouldThrowIndexSizeErrorException("selection.setBaseAndExtent(body, 0, body, -1);"); |
| shouldThrowIndexSizeErrorException("selection.collapse(body, -1);"); |
| shouldThrowIndexSizeErrorException("selection.getRangeAt(-1);"); |
| shouldThrowIndexSizeErrorException("selection.getRangeAt(10000);"); |
| shouldThrowIndexSizeErrorException("selection.collapse(body, 10000);"); |
| shouldThrowIndexSizeErrorException("selection.setBaseAndExtent(body, 1000, body, 0)"); |
| shouldThrowIndexSizeErrorException("selection.setBaseAndExtent(body, 0, body, 10000)"); |
| </script> |