mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-30 05:35:31 +00:00
80 lines
2.8 KiB
HTML
80 lines
2.8 KiB
HTML
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=686449
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 686449</title>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=686449">Mozilla Bug 686449</a>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none">
|
|
|
|
</div>
|
|
<div id="rangetest">abcd<div id="picontainer1"><?pi efgh?></div><div>ijkl</div><div id="picontainer2"><?pi mnop?></div>qrst</div>
|
|
<pre id="test">
|
|
<script type="application/javascript">
|
|
<![CDATA[
|
|
|
|
/** Test for Bug 686449 **/
|
|
|
|
var pi = document.createProcessingInstruction("t", "data");
|
|
ok("target" in pi, "No target?");
|
|
ok("data" in pi, "No data?");
|
|
ok("length" in pi, "No length?");
|
|
ok("substringData" in pi, "No substringData?");
|
|
ok("appendData" in pi, "No appendData?");
|
|
ok("insertData" in pi, "No insertData?");
|
|
ok("deleteData" in pi, "No deleteData?");
|
|
ok("replaceData" in pi, "No replaceData?");
|
|
|
|
is(pi.substringData(0, pi.length), pi.data, "wrong data?");
|
|
var olddata = pi.data;
|
|
var appenddata = "foo"
|
|
pi.appendData(appenddata);
|
|
is(pi.data, olddata + appenddata, "appendData doesn't work?");
|
|
pi.deleteData(olddata.length, appenddata.length);
|
|
is(pi.data, olddata, "deleteData doesn't work?");
|
|
pi.replaceData(0, 0, olddata);
|
|
is(pi.data, olddata + olddata, "replaceData doesn't work?");
|
|
pi.insertData(0, olddata);
|
|
is(pi.data, olddata + olddata + olddata, "insertData doesn't work?");
|
|
pi.data = olddata;
|
|
is(pi.data, olddata, "setting data doesn't work?");
|
|
|
|
var r = document.createRange();
|
|
r.selectNodeContents(pi);
|
|
is(r.startContainer, pi, "Wrong startContainer!");
|
|
is(r.startOffset, 0, "Wrong startOffset!");
|
|
is(r.endContainer, pi, "Wrong endContainer!");
|
|
is(r.endOffset, pi.length, "Wrong endOffset!");
|
|
|
|
var df = r.cloneContents();
|
|
is(df.childNodes.length, 1, "Unexpected child nodes?");
|
|
ok(df.firstChild.isEqualNode(pi), "Wrong cloning?");
|
|
|
|
r.setStart(pi, 1);
|
|
r.setEnd(pi, 3);
|
|
df = r.cloneContents();
|
|
is(df.childNodes.length, 1, "Unexpected child nodes?");
|
|
ok(!df.firstChild.isEqualNode(pi), "Should clone to similar pi!");
|
|
is(df.firstChild.data, "at", "Wrong data cloning?");
|
|
|
|
r.selectNode(document.getElementById("rangetest"));
|
|
is(r.toString(), document.getElementById("rangetest").textContent,
|
|
"Wrong range stringification!");
|
|
ok(r.cloneContents().firstChild.firstChild.nextSibling.firstChild.
|
|
isEqualNode(document.getElementById("picontainer1").firstChild),
|
|
"Wrong pi cloning!");
|
|
ok(r.cloneContents().firstChild.firstChild.nextSibling.nextSibling.nextSibling.firstChild.
|
|
isEqualNode(document.getElementById("picontainer2").firstChild),
|
|
"Wrong pi cloning!");
|
|
|
|
]]>
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|