Index: LayoutTests/editing/selection/document-mutation.html |
diff --git a/LayoutTests/editing/selection/document-mutation.html b/LayoutTests/editing/selection/document-mutation.html |
index 0dfee78b4d7884d5b0d8be764bf63100b45de0e3..7345f72787a0dfc1e741ba0ca20d5ea523a12304 100644 |
--- a/LayoutTests/editing/selection/document-mutation.html |
+++ b/LayoutTests/editing/selection/document-mutation.html |
@@ -1,91 +1,91 @@ |
-<!DOCTYPE html> |
-<html> |
-<body> |
-<p>This test ensures WebKit adjusts the selection under document mutation.</p> |
-<p> Examples are from:<br> http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Mutation</p> |
-<div id="test" contenteditable></div> |
-<pre> |
-<script> |
- |
-var test = document.getElementById('test'); |
-test.focus(); |
- |
-if (window.testRunner) |
- testRunner.dumpAsText(); |
- |
-var baseIsFirst = true; |
-var selection = window.getSelection(); |
- |
-function checkResult(expectedStartOffset, expectedEndOffset) { |
- var actualStartOffset = selection.getRangeAt(0).startOffset; |
- var actualEndOffset = selection.getRangeAt(0).endOffset; |
- if (actualStartOffset == expectedStartOffset && actualEndOffset == expectedEndOffset) |
- document.write('PASS: selection is (' + expectedStartOffset + ', ' + expectedEndOffset + ') "' + selection + '"\n'); |
- else |
- document.write('FAIL: selection is (' + actualStartOffset + ', ' + actualEndOffset + ') "' + selection + |
- '" and expected selection is ' + '(' + expectedStartOffset + ', ' + expectedEndOffset + ')\n'); |
-} |
- |
-function setSelectionRange(startContainer, startOffset, endContainer, endOffset) { |
- if (baseIsFirst) |
- selection.setBaseAndExtent(startContainer, startOffset, endContainer, endOffset); |
- else |
- selection.setBaseAndExtent(endContainer, endOffset, startContainer, startOffset); |
-} |
- |
-function runInsertionTest(actor, expectedStartOffset, expectedEndOffset) { |
- test.innerHTML = '<p>Abcd efgh XY blah ijkl</p>'; |
- |
- // Select "Y blah i" |
- setSelectionRange(test.firstChild.firstChild, 11, test.firstChild.firstChild, 19); |
- actor(test.firstChild.firstChild); |
- checkResult(expectedStartOffset, expectedEndOffset); |
-} |
- |
-function runDeletionTest(actor, expectedStartOffset, expectedEndOffset) { |
- test.innerHTML = '<p>Abcd efgh The Range ijkl</p>'; |
- |
- // Select "he Range i" |
- setSelectionRange(test.firstChild.firstChild, 11, test.firstChild.firstChild, 21); |
- actor(test.firstChild.firstChild); |
- checkResult(expectedStartOffset, expectedEndOffset); |
-} |
- |
-function deleteNodeContainingSelection(expectedStartOffset, expectedEndOffset) { |
- test.innerHTML = '<p>Abcd <em>efgh The Range ij</em>kl</p>'; |
- |
- // Select "he Range i" |
- setSelectionRange(test.firstChild.firstChild.nextSibling.firstChild, 6, test.firstChild.firstChild.nextSibling.firstChild, 16); |
- test.firstChild.removeChild(test.firstChild.firstChild.nextSibling); |
- checkResult(expectedStartOffset, expectedEndOffset); |
-} |
- |
-function runTests() { |
- document.write('Insertion tests:\n'); |
- runInsertionTest(function(node) { node.insertData(10, 'inserted text'); }, 24, 32); |
- runInsertionTest(function(node) { node.insertData(11, 'inserted text'); }, 11, 32); |
- runInsertionTest(function(node) { node.insertData(12, 'inserted text'); }, 11, 32); |
- runInsertionTest(function(node) { node.insertData(17, 'inserted text'); }, 11, 32); |
- runInsertionTest(function(node) { node.insertData(19, 'inserted text'); }, 11, 19); |
- |
- document.write('\nDeletion tests:\n'); |
- runDeletionTest(function(node) { node.deleteData(5, 8); }, 5, 13); |
- runDeletionTest(function(node) { node.deleteData(5, 17); }, 5, 5); |
- runDeletionTest(function(node) { node.deleteData(5, 6); }, 5, 15); |
- deleteNodeContainingSelection(1, 1); |
-} |
- |
-document.write('Base is first\n\n'); |
-runTests(); |
- |
-baseIsFirst = false; |
- |
-document.write('\n\nExtent is first\n\n'); |
-runTests(); |
- |
-test.style.display = 'none'; |
-document.write('\nDONE'); |
-</script> |
-</pre> |
-</body> |
-</html> |
+<!DOCTYPE html> |
+<html> |
+<body> |
+<p>This test ensures WebKit adjusts the selection under document mutation.</p> |
+<p> Examples are from:<br> http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Mutation</p> |
+<div id="test" contenteditable></div> |
+<pre> |
+<script> |
+ |
+var test = document.getElementById('test'); |
+test.focus(); |
+ |
+if (window.testRunner) |
+ testRunner.dumpAsText(); |
+ |
+var baseIsFirst = true; |
+var selection = window.getSelection(); |
+ |
+function checkResult(expectedStartOffset, expectedEndOffset) { |
+ var actualStartOffset = selection.getRangeAt(0).startOffset; |
+ var actualEndOffset = selection.getRangeAt(0).endOffset; |
+ if (actualStartOffset == expectedStartOffset && actualEndOffset == expectedEndOffset) |
+ document.write('PASS: selection is (' + expectedStartOffset + ', ' + expectedEndOffset + ') "' + selection + '"\n'); |
+ else |
+ document.write('FAIL: selection is (' + actualStartOffset + ', ' + actualEndOffset + ') "' + selection + |
+ '" and expected selection is ' + '(' + expectedStartOffset + ', ' + expectedEndOffset + ')\n'); |
+} |
+ |
+function setSelectionRange(startContainer, startOffset, endContainer, endOffset) { |
+ if (baseIsFirst) |
+ selection.setBaseAndExtent(startContainer, startOffset, endContainer, endOffset); |
+ else |
+ selection.setBaseAndExtent(endContainer, endOffset, startContainer, startOffset); |
+} |
+ |
+function runInsertionTest(actor, expectedStartOffset, expectedEndOffset) { |
+ test.innerHTML = '<p>Abcd efgh XY blah ijkl</p>'; |
+ |
+ // Select "Y blah i" |
+ setSelectionRange(test.firstChild.firstChild, 11, test.firstChild.firstChild, 19); |
+ actor(test.firstChild.firstChild); |
+ checkResult(expectedStartOffset, expectedEndOffset); |
+} |
+ |
+function runDeletionTest(actor, expectedStartOffset, expectedEndOffset) { |
+ test.innerHTML = '<p>Abcd efgh The Range ijkl</p>'; |
+ |
+ // Select "he Range i" |
+ setSelectionRange(test.firstChild.firstChild, 11, test.firstChild.firstChild, 21); |
+ actor(test.firstChild.firstChild); |
+ checkResult(expectedStartOffset, expectedEndOffset); |
+} |
+ |
+function deleteNodeContainingSelection(expectedStartOffset, expectedEndOffset) { |
+ test.innerHTML = '<p>Abcd <em>efgh The Range ij</em>kl</p>'; |
+ |
+ // Select "he Range i" |
+ setSelectionRange(test.firstChild.firstChild.nextSibling.firstChild, 6, test.firstChild.firstChild.nextSibling.firstChild, 16); |
+ test.firstChild.removeChild(test.firstChild.firstChild.nextSibling); |
+ checkResult(expectedStartOffset, expectedEndOffset); |
+} |
+ |
+function runTests() { |
+ document.write('Insertion tests:\n'); |
+ runInsertionTest(function(node) { node.insertData(10, 'inserted text'); }, 24, 32); |
+ runInsertionTest(function(node) { node.insertData(11, 'inserted text'); }, 11, 32); |
+ runInsertionTest(function(node) { node.insertData(12, 'inserted text'); }, 11, 32); |
+ runInsertionTest(function(node) { node.insertData(17, 'inserted text'); }, 11, 32); |
+ runInsertionTest(function(node) { node.insertData(19, 'inserted text'); }, 11, 19); |
+ |
+ document.write('\nDeletion tests:\n'); |
+ runDeletionTest(function(node) { node.deleteData(5, 8); }, 5, 13); |
+ runDeletionTest(function(node) { node.deleteData(5, 17); }, 5, 5); |
+ runDeletionTest(function(node) { node.deleteData(5, 6); }, 5, 15); |
+ deleteNodeContainingSelection(1, 1); |
+} |
+ |
+document.write('Base is first\n\n'); |
+runTests(); |
+ |
+baseIsFirst = false; |
+ |
+document.write('\n\nExtent is first\n\n'); |
+runTests(); |
+ |
+test.style.display = 'none'; |
+document.write('\nDONE'); |
+</script> |
+</pre> |
+</body> |
+</html> |