4 https://bugzilla.mozilla.org/show_bug.cgi?id=372086
7 <title>Test for Bug
372086</title>
8 <script type=
"text/javascript" src=
"/MochiKit/MochiKit.js"></script>
9 <script type=
"text/javascript" src=
"/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
13 <a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=372086">Mozilla Bug
372086</a>
16 <bindings xmlns="http://www.mozilla.org/xbl">
18 <content>ghi<children/>jkl</content>
22 <div id=
"d" style=
"-moz-binding: url(data:application/xml,%3Cbindings%20xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%3E%3Cbinding%20id%3D%22test%22%3E%3Ccontent%3Eghi%3Cchildren%2F%3Ejkl%3C%2Fcontent%3E%3C%2Fbinding%3E%3C%2Fbindings%3E)">abc
</div>def
24 <div id=
"content" style=
"display: none">
28 <script class=
"testbody" type=
"text/javascript">
30 /** Test for Bug
372086 **/
33 var range = document.createRange();
35 var c = $(
"d").firstChild;
36 var a = $(
"d").nextSibling;
40 is(range.startContainer, c,
"Unexpected start container");
41 is(range.startOffset,
1,
"Unexpected start offset");
42 is(range.endContainer, c,
"Unexpected end container");
43 is(range.endOffset,
3,
"Unexpected end offset");
44 is(range.toString(),
"bc",
"Unexpected range serialization");
46 var anon = document.getAnonymousNodes($(
"d"))[
0];
47 // Should collapse the range, because can't determine order
48 range.setEnd(anon,
2);
49 is(range.startContainer, anon,
"Unexpected collapsed start container");
50 is(range.startOffset,
2,
"Unexpected collapsed start offset");
51 is(range.endContainer, anon,
"Unexpected collapsed end container");
52 is(range.endOffset,
2,
"Unexpected collapsed end offset");
53 is(range.toString(),
"",
"Unexpected collapsed range serialization");
57 is(range.startContainer, a,
"Unexpected start container after");
58 is(range.startOffset,
0,
"Unexpected start offset after");
59 is(range.endContainer, a,
"Unexpected end container after");
60 is(range.endOffset,
2,
"Unexpected end offset after");
61 is(range.toString(),
"de",
"Unexpected range serialization after");
63 anon = document.getAnonymousNodes($(
"d"))[
2];
64 // Collapses because one endpoint is anonymous from point of view of
66 range.setStart(anon,
1);
67 is(range.startContainer, anon,
"Unexpected newly collapsed start container");
68 is(range.startOffset,
1,
"Unexpected newly collapsed start offset");
69 is(range.endContainer, anon,
"Unexpected newly collapsed end container");
70 is(range.endOffset,
1,
"Unexpected newly collapsed end offset");
71 is(range.toString(),
"",
"Unexpected collapsed range serialization");
73 range.setEnd(anon,
3);
74 is(range.startContainer, anon,
"Unexpected anon start container");
75 is(range.startOffset,
1,
"Unexpected anon start offset");
76 is(range.endContainer, anon,
"Unexpected anon end container");
77 is(range.endOffset,
3,
"Unexpected anon end offset");
78 is(range.toString(),
"kl",
"Unexpected anon range serialization");
81 SimpleTest.waitForExplicitFinish();
82 addLoadEvent(runTest);
83 addLoadEvent(SimpleTest.finish)