| <html> |
| <head> |
| <script> |
| var output = ''; |
| |
| function selectNodes(a, b) { |
| getSelection().setBaseAndExtent(a, 1, b, 1); |
| let node = getSelection().anchorNode; |
| if (node.nodeType == Node.TEXT_NODE) |
| node = node.parentNode; |
| output += node.id + ' '; |
| } |
| |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function doIt() { |
| try { |
| var x = document.getElementById('x'); |
| var y = document.getElementById('y'); |
| selectNodes(x, y); |
| selectNodes(y, x); |
| document.getElementById('result').innerHTML = (output == "x y " ? "PASS" : ("FAIL: " + output)); |
| } catch (e) { alert(e); } |
| } |
| </script> |
| </head> |
| <body onload="doIt()"> |
| <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=20117">bug 20117</a>: |
| setBaseAndExtent fails to reverse the current selection.</p> |
| <div id='x'>Div X</div> |
| <div id='y'>Div Y</div> |
| <div id='z'>Div Z</div> |
| <div id='result'>FAIL (script didn't run)</div> |
| </body> |
| </html> |