| <body> | |
| You should see six OKs below (and not hang): <br> | |
| <script> | |
| if (window.testRunner) | |
| testRunner.dumpAsText(); | |
| var body = document.body; | |
| var selection = window.getSelection(); | |
| try { | |
| selection.collapse(body, -1); | |
| } catch (e) {document.write(((e.code==DOMException.INDEX_SIZE_ERR) ? "OK" : "FAIL")+"<br>"); } | |
| try { | |
| selection.setBaseAndExtent(body, -1, body, 0); | |
| } catch (e) {document.write(((e.code==DOMException.INDEX_SIZE_ERR) ? "OK" : "FAIL")+"<br>"); } | |
| try { | |
| selection.setBaseAndExtent(body, 0, body, -1); | |
| } catch (e) {document.write(((e.code==DOMException.INDEX_SIZE_ERR) ? "OK" : "FAIL")+"<br>"); } | |
| try { | |
| selection.setPosition(body, -1); | |
| } catch (e) {document.write(((e.code==DOMException.INDEX_SIZE_ERR) ? "OK" : "FAIL")+"<br>"); } | |
| try { | |
| selection.getRangeAt(-1); | |
| } catch (e) {document.write(((e.code==DOMException.INDEX_SIZE_ERR) ? "OK" : "FAIL")+"<br>"); } | |
| try { | |
| selection.getRangeAt(10000); | |
| } catch (e) {document.write(((e.code==DOMException.INDEX_SIZE_ERR) ? "OK" : "FAIL")+"<br>"); } | |
| // these should throw as well but don't at the moment. Just checking they don't crash. | |
| selection.collapse(body, 10000); | |
| selection.setBaseAndExtent(body, 1000, body, 0); | |
| selection.setBaseAndExtent(body, 0, body, 10000); | |
| selection.setPosition(body, 10000); | |
| </script> |