summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/dom/Range/insertNode-empty-fragment-crash.html
blob: 7ec617ce3b026cf439b55b1332b84ed3f4585d4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
    <head>
        <script src="../../js/resources/js-test-pre.js"></script>
    </head>
    <body>
        <script>
            description('Test Range.insertNode(fragment) when the fragment is empty and the range is collapsed');

            var p = document.createElement('p');
            var t1 = document.createTextNode('12345');
            p.appendChild(t1);
            var t2 = document.createTextNode('ABCDE');
            p.appendChild(t2);
            document.body.appendChild(p);
            var r = document.createRange();
            r.setStart(p, 1);
            r.setEnd(p, 1);
            shouldBeEqualToString("r.toString()", "");

            var df = document.createDocumentFragment();
            r.insertNode(df);

            shouldBe("p.childNodes.length", "2");
            shouldBe("p.childNodes[0]", "t1");
            shouldBe("p.childNodes[1]", "t2");

            shouldBeTrue("r.collapsed");
            shouldBe("r.startContainer", "p");
            shouldBe("r.startOffset", "1");
            shouldBe("r.endContainer", "p");
            shouldBe("r.endOffset", "1");
            shouldBeEqualToString("r.toString()", "")

            document.body.removeChild(p);
        </script>
        <script src="../../js/resources/js-test-post.js"></script>
    </body>
</html>