| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script src="resources/js-test-selection-shared.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| description('Unit tests for WebCore text iterator'); |
| |
| function appendBrElement(node) |
| { |
| node.appendChild(document.createElement('br')); |
| } |
| |
| function addShadowTreeWithDivElement(node) |
| { |
| node.webkitCreateShadowRoot(); |
| internals.shadowRoot(node).innerHTML = '<div>b</div>'; |
| } |
| |
| var subframe = document.createElement('iframe'); |
| document.body.appendChild(subframe); |
| |
| var testDocument = subframe.contentDocument; |
| var range = testDocument.createRange(); |
| |
| var head = testDocument.createElement("head"); |
| testDocument.documentElement.insertBefore(head, testDocument.documentElement.firstChild); |
| |
| testDocument.body.innerHTML = ''; |
| shouldBe('range.selectNodeContents(testDocument.body); internals.rangeAsText(range)', '""'); |
| |
| testDocument.body.innerHTML = 'a'; |
| shouldBe('range.selectNodeContents(testDocument.body); internals.rangeAsText(range)', '"a"'); |
| |
| testDocument.body.innerHTML = '<div>a</div>'; |
| shouldBe('range.selectNodeContents(testDocument.body); internals.rangeAsText(range)', '"a"'); |
| |
| testDocument.body.innerHTML = '<div>a</div><div>b</div>'; |
| shouldBe('range.selectNodeContents(testDocument.body); internals.rangeAsText(range)', '"a\\nb"'); |
| |
| testDocument.body.innerHTML = '<div style="line-height: 18px; min-height: 436px; " id="node-content" class="note-content">debugging this note</div>'; |
| shouldBe('range.selectNodeContents(testDocument.body); internals.rangeAsText(range)', '"debugging this note"'); |
| |
| testDocument.body.innerHTML = '<div>Hello<div><span><span><br></div></div>'; |
| shouldBe('range.selectNodeContents(testDocument.body); internals.rangeAsText(range)', '"Hello\\n"'); |
| |
| testDocument.body.innerHTML = '<div class="note-rule-vertical" style="left:22px"></div>\n\t\t<div class="note-rule-vertical" style="left:26px"></div>\n\n\t\t<div class="note-wrapper">\n\t\t\t<div class="note-header">\n\t\t\t\t<div class="note-body" id="note-body">\n\t\t\t\t\t<div class="note-content" id="note-content" contenteditable="true" style="line-height: 20px; min-height: 580px; ">hey</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\n'; |
| shouldBe('range.selectNodeContents(testDocument.body); internals.rangeAsText(range)', '"hey"'); |
| shouldBe('range.setStartBefore(testDocument.body); range.setEndAfter(testDocument.body); internals.rangeAsText(range)', '"hey"'); |
| |
| testDocument.body.innerHTML = '<input id="a" value="b" />'; |
| var input = testDocument.querySelector('input'); |
| shouldBe('range.selectNodeContents(internals.shadowRoot(input)); internals.rangeAsText(range)', '"b"'); |
| |
| shouldBe('appendBrElement(internals.shadowRoot(input).childNodes[0]); range.selectNodeContents(internals.shadowRoot(input)); internals.rangeAsText(range)', '"b"'); |
| |
| document.body.removeChild(subframe); |
| |
| var successfullyParsed = true; |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |