Fix step 1 of Range::InsertNode

The method needs to throw when trying to insert start node into range.
This commit is contained in:
Anthony Ramine 2016-02-28 20:26:02 +01:00
parent be6940db59
commit c713734b48
3 changed files with 3 additions and 142 deletions

View file

@ -658,6 +658,9 @@ impl RangeMethods for Range {
let start_offset = self.StartOffset();
// Step 1.
if &*start_node == node {
return Err(Error::HierarchyRequest);
}
match start_node.type_id() {
// Handled under step 2.
NodeTypeId::CharacterData(CharacterDataTypeId::Text) => (),

View file

@ -1,80 +0,0 @@
[Range-insertNode.html]
type: testharness
[0,1: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node paras[0\].firstChild]
expected: FAIL
[0,1: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node paras[0\].firstChild]
expected: FAIL
[1,1: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node paras[0\].firstChild]
expected: FAIL
[1,1: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node paras[0\].firstChild]
expected: FAIL
[2,1: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[2,1: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[3,1: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[0\].firstChild]
expected: FAIL
[3,1: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[0\].firstChild]
expected: FAIL
[4,2: resulting DOM for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node paras[1\].firstChild]
expected: FAIL
[4,2: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node paras[1\].firstChild]
expected: FAIL
[5,2: resulting DOM for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node paras[1\].firstChild]
expected: FAIL
[5,2: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node paras[1\].firstChild]
expected: FAIL
[6,6: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedPara1.firstChild]
expected: FAIL
[6,6: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedPara1.firstChild]
expected: FAIL
[7,6: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedPara1.firstChild]
expected: FAIL
[7,6: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedPara1.firstChild]
expected: FAIL
[8,4: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignPara1.firstChild]
expected: FAIL
[8,4: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignPara1.firstChild]
expected: FAIL
[9,4: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara1.firstChild]
expected: FAIL
[9,4: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara1.firstChild]
expected: FAIL
[18,1: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node paras[0\].firstChild]
expected: FAIL
[18,1: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 0\], node paras[0\].firstChild]
expected: FAIL
[19,1: resulting DOM for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[19,1: resulting range position for range [paras[0\].firstChild, 0, paras[1\].firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[20,1: resulting DOM for range [paras[0\].firstChild, 3, paras[3\], 1\], node paras[0\].firstChild]
expected: FAIL
[20,1: resulting range position for range [paras[0\].firstChild, 3, paras[3\], 1\], node paras[0\].firstChild]
expected: FAIL

View file

@ -1,62 +0,0 @@
[Range-surroundContents.html]
type: testharness
[0,1: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node paras[0\].firstChild]
expected: FAIL
[0,1: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 0\], node paras[0\].firstChild]
expected: FAIL
[1,1: resulting DOM for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node paras[0\].firstChild]
expected: FAIL
[1,1: resulting range position for range [paras[0\].firstChild, 0, paras[0\].firstChild, 1\], node paras[0\].firstChild]
expected: FAIL
[2,1: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[2,1: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 8\], node paras[0\].firstChild]
expected: FAIL
[3,1: resulting DOM for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[0\].firstChild]
expected: FAIL
[3,1: resulting range position for range [paras[0\].firstChild, 2, paras[0\].firstChild, 9\], node paras[0\].firstChild]
expected: FAIL
[4,2: resulting DOM for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node paras[1\].firstChild]
expected: FAIL
[4,2: resulting range position for range [paras[1\].firstChild, 0, paras[1\].firstChild, 0\], node paras[1\].firstChild]
expected: FAIL
[5,2: resulting DOM for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node paras[1\].firstChild]
expected: FAIL
[5,2: resulting range position for range [paras[1\].firstChild, 2, paras[1\].firstChild, 9\], node paras[1\].firstChild]
expected: FAIL
[6,6: resulting DOM for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedPara1.firstChild]
expected: FAIL
[6,6: resulting range position for range [detachedPara1.firstChild, 0, detachedPara1.firstChild, 0\], node detachedPara1.firstChild]
expected: FAIL
[7,6: resulting DOM for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedPara1.firstChild]
expected: FAIL
[7,6: resulting range position for range [detachedPara1.firstChild, 2, detachedPara1.firstChild, 8\], node detachedPara1.firstChild]
expected: FAIL
[8,4: resulting DOM for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignPara1.firstChild]
expected: FAIL
[8,4: resulting range position for range [foreignPara1.firstChild, 0, foreignPara1.firstChild, 0\], node foreignPara1.firstChild]
expected: FAIL
[9,4: resulting DOM for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara1.firstChild]
expected: FAIL
[9,4: resulting range position for range [foreignPara1.firstChild, 2, foreignPara1.firstChild, 8\], node foreignPara1.firstChild]
expected: FAIL