123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <!DOCTYPE HTML>
- <html class="reftest-wait"><head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Testcase for bug </title>
- <script>
- var tests_done = 0;
- var tests = [
- 'window.getSelection().getRangeAt(0).setEnd(document.getElementsByTagName("pre")[0].firstChild,9)',
- 'window.getSelection().getRangeAt(0).setEndAfter(document.getElementsByTagName("pre")[0].firstChild)',
- 'window.getSelection().getRangeAt(0).setEndBefore(document.getElementsByTagName("pre")[0].childNodes[1])',
- 'pre=document.getElementsByTagName("pre")[0]; r=window.getSelection().getRangeAt(0); r.setEnd(pre.childNodes[1],3); r.setStartAfter(pre.firstChild)',
- 'window.getSelection().getRangeAt(0).setStartBefore(document.getElementsByTagName("pre")[0].firstChild)',
- 'window.getSelection().getRangeAt(0).selectNode(document.getElementsByTagName("pre")[0].firstChild)',
- 'window.getSelection().getRangeAt(0).selectNodeContents(document.getElementsByTagName("pre")[0])',
- 'window.getSelection().getRangeAt(0).collapse(true)',
- 'window.getSelection().getRangeAt(0).surroundContents(document.createElement("span"))',
- 'window.getSelection().getRangeAt(0).setStart(document,0)',
- 'window.getSelection().getRangeAt(0).detach()',
- 'window.getSelection().getRangeAt(0).extractContents()',
- 'window.getSelection().getRangeAt(0).deleteContents()'
- ];
- function init_iframe(d) {
- var pre = d.createElement('pre');
- pre.appendChild(d.createTextNode('first\nfirst\n'));
- pre.appendChild(d.createTextNode('second'));
- d.documentElement.appendChild(pre);
- var text = pre.firstChild;
- var sel = d.defaultView.getSelection();
- var r = d.createRange();
- r.setStart(text,0)
- r.setEnd(text,3)
- sel.addRange(r);
- d.documentElement.offsetHeight;
- }
- function test_iframe(iframe, i) {
- iframe.contentDocument.write(
- '<'+'style>span { text-decoration:underline; } <'+'/style>' +
- '<'+'script>' +
- 'window.parent.init_iframe(document);' +
- 'setTimeout(function(){' + window.parent.tests[i] + '; sel=window.getSelection(); try{r=sel.getRangeAt(0); sel.removeRange(r); sel.addRange(r);}catch(e){}; ++window.parent.tests_done; },0)' +
- '<'+'/script>'
- );
- }
- function create_iframe(i) {
- var div = document.createElement('div');
- document.body.appendChild(div);
- div.innerHTML = "<iframe src='about:blank' style='height:6em; width:12em; float:left;' frameborder='0' onload='test_iframe(this,"+i+")'><iframe>"
- }
- var id;
- function check_if_done() {
- if (tests_done == tests.length) {
- clearInterval(id);
- document.documentElement.className = "";
- }
- }
- function test() {
- for (i = 0; i < tests.length; ++i) {
- create_iframe(i);
- }
- id = setInterval(check_if_done,500);
- }
- </script>
- </head>
- <body onload="test()"></body>
- </html>
|