| <!doctype html> | |
| <meta charset="utf-8"> | |
| <title>Range stringifier</title> | |
| <link rel="author" title="KiChjang" href="mailto:kungfukeith11@gmail.com"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <div id=test>Test div</div> | |
| <div id=another>Another div</div> | |
| <div id=last>Last div</div> | |
| <div id=log></div> | |
| <script> | |
| test(function() { | |
| var r = new Range(); | |
| var testDiv = document.getElementById("test"); | |
| test(function() { | |
| r.selectNodeContents(testDiv); | |
| assert_equals(r.collapsed, false); | |
| assert_equals(r.toString(), testDiv.textContent); | |
| }, "Node contents of a single div"); | |
| var textNode = testDiv.childNodes[0]; | |
| test(function() { | |
| r.setStart(textNode, 5); | |
| r.setEnd(textNode, 7); | |
| assert_equals(r.collapsed, false); | |
| assert_equals(r.toString(), "di"); | |
| }, "Text node with offsets"); | |
| var anotherDiv = document.getElementById("another"); | |
| test(function() { | |
| r.setStart(testDiv, 0); | |
| r.setEnd(anotherDiv, 0); | |
| assert_equals(r.toString(), "Test div\n"); | |
| }, "Two nodes, each with a text node"); | |
| var lastDiv = document.getElementById("last"); | |
| var lastText = lastDiv.childNodes[0]; | |
| test(function() { | |
| r.setStart(textNode, 5); | |
| r.setEnd(lastText, 4); | |
| assert_equals(r.toString(), "div\nAnother div\nLast"); | |
| }, "Three nodes with start offset and end offset on text nodes"); | |
| }); | |
| </script> |