| Index: LayoutTests/editing/selection/no-range-canonicalization.html
|
| diff --git a/LayoutTests/editing/selection/no-range-canonicalization.html b/LayoutTests/editing/selection/no-range-canonicalization.html
|
| index 31ad3245fc487f6f714f579b1b1461f173adf9ad..ed69c2ffa131e2cda4313489678a866c0c32270c 100644
|
| --- a/LayoutTests/editing/selection/no-range-canonicalization.html
|
| +++ b/LayoutTests/editing/selection/no-range-canonicalization.html
|
| @@ -6,7 +6,7 @@
|
| </head>
|
| <body>
|
| <script>
|
| -description('Ranges set by Selection.addRange() and returned by Selection.getRangeAt() should be identical.');
|
| +description('Ranges/Nodes set by a Selection method and returned by a corresoponding Selection method should be identical.');
|
|
|
| var sandboxRoot = document.createElement('div');
|
| sandboxRoot.innerHTML =
|
| @@ -33,10 +33,10 @@ function collapsedRangeAt(anchorNode, offset)
|
| var originalRange;
|
| var gotRange;
|
|
|
| -function testSingleRange(range)
|
| +function testAddRange()
|
| {
|
| - originalRange = range;
|
| - selectRange(range);
|
| + originalRange = collapsedRangeAt(originalAnchorNode, originalAnchorOffset);
|
| + selectRange(originalRange);
|
| gotRange = selection.getRangeAt(0);
|
|
|
| shouldBeTrue('gotRange.startContainer === originalRange.startContainer');
|
| @@ -45,6 +45,27 @@ function testSingleRange(range)
|
| shouldBe('gotRange.endOffset', 'originalRange.endOffset');
|
| }
|
|
|
| +function testCollapse()
|
| +{
|
| + selection.collapse(originalAnchorNode, originalAnchorOffset);
|
| + gotRange = selection.getRangeAt(0);
|
| + shouldBeTrue('gotRange.startContainer === originalAnchorNode');
|
| + shouldBe('gotRange.startOffset', 'originalAnchorOffset');
|
| + shouldBeTrue('gotRange.endContainer === originalAnchorNode');
|
| + shouldBe('gotRange.endOffset', 'originalAnchorOffset');
|
| +}
|
| +
|
| +var originalAnchorNode;
|
| +var originalAnchorOffset;
|
| +function testSingleRange(anchorNode, anchorOffset)
|
| +{
|
| + originalAnchorNode = anchorNode;
|
| + originalAnchorOffset = anchorOffset;
|
| +
|
| + testAddRange();
|
| + testCollapse();
|
| +}
|
| +
|
| function runTest(rootElement)
|
| {
|
| var span1 = rootElement.childNodes[0];
|
| @@ -55,19 +76,19 @@ function runTest(rootElement)
|
|
|
| // These positions are all visually equivalent, and should not mutate when obtained by getRangeAt().
|
| debug('position = [text1, 1]');
|
| - testSingleRange(collapsedRangeAt(text1, 1));
|
| + testSingleRange(text1, 1);
|
| debug('position = [span1, 1]');
|
| - testSingleRange(collapsedRangeAt(span1, 1));
|
| + testSingleRange(span1, 1);
|
| debug('position = [rootElement, 1]');
|
| - testSingleRange(collapsedRangeAt(rootElement, 1));
|
| + testSingleRange(rootElement, 1);
|
| debug('position = [span2, 0]');
|
| - testSingleRange(collapsedRangeAt(span2, 0));
|
| + testSingleRange(span2, 0);
|
| debug('position = [rootElement, 2]');
|
| - testSingleRange(collapsedRangeAt(rootElement, 2));
|
| + testSingleRange(rootElement, 2);
|
| debug('position = [span3, 0]');
|
| - testSingleRange(collapsedRangeAt(span3, 0));
|
| + testSingleRange(span3, 0);
|
| debug('position = [text2, 0]');
|
| - testSingleRange(collapsedRangeAt(text2, 0));
|
| + testSingleRange(text2, 0);
|
| }
|
|
|
| debug('Testing selection on non-editable nodes...');
|
|
|