<?xml version="1.0"?> <html xmlns="http://www.w3.org/1999/xhtml"> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=419527 --> <head> <title>Test for Bug 419527</title> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml"> <binding id="rangebinding"> <content><html:span>Foo</html:span> </content> <implementation> <constructor> var win = XPCNativeWrapper.unwrap(window); var span = document.getAnonymousNodes(this)[0]; win.ok(span.localName == "span", "Wrong anon node!"); var range = document.createRange(); range.selectNode(span.firstChild); win.ok(range.startContainer == span, "Wrong start container!"); win.ok(range.endContainer == span, "Wrong end container!"); var newSubTree = XPCNativeWrapper(win.newSubTree); newSubTree.appendChild(this); range.setStart(newSubTree.firstChild, 0); win.ok(range.startContainer == newSubTree.firstChild, "Range should have been collapsed to newSubTree.firstChild!"); win.ok(range.endContainer == newSubTree.firstChild, "Range should have been collapsed to newSubTree.firstChild!"); //XXX This should just call SimpleTest.finish(), bugs 478528, 499735. setTimeout(win.finish, 0); </constructor> </implementation> </binding> </bindings> </head> <body> <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=419527">Mozilla Bug 419527</a> <p id="display"></p> <div id="content" style="display: none"> </div> <pre id="test"> <script class="testbody" type="text/javascript"> <![CDATA[ /** Test for Bug 419527 **/ var d; function runRangeTest() { window.newSubTree = document.createElementNS("http://www.w3.org/1999/xhtml", "div"); newSubTree.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "div")); d = document.createElementNS("http://www.w3.org/1999/xhtml", "div"); d.style.MozBinding = "url('" + window.location + "#rangebinding" + "')"; document.body.appendChild(d); } function finish() { SimpleTest.finish(); } SimpleTest.waitForExplicitFinish(); setTimeout(runRangeTest, 0); ]]> </script> </pre> </body> </html>