1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/base/test/test_bug686449.xhtml Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,79 @@ 1.4 +<html xmlns="http://www.w3.org/1999/xhtml"> 1.5 +<!-- 1.6 +https://bugzilla.mozilla.org/show_bug.cgi?id=686449 1.7 +--> 1.8 +<head> 1.9 + <title>Test for Bug 686449</title> 1.10 + <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.11 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 1.12 +</head> 1.13 +<body> 1.14 +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=686449">Mozilla Bug 686449</a> 1.15 +<p id="display"></p> 1.16 +<div id="content" style="display: none"> 1.17 + 1.18 +</div> 1.19 +<div id="rangetest">abcd<div id="picontainer1"><?pi efgh?></div><div>ijkl</div><div id="picontainer2"><?pi mnop?></div>qrst</div> 1.20 +<pre id="test"> 1.21 +<script type="application/javascript"> 1.22 +<![CDATA[ 1.23 + 1.24 +/** Test for Bug 686449 **/ 1.25 + 1.26 +var pi = document.createProcessingInstruction("t", "data"); 1.27 +ok("target" in pi, "No target?"); 1.28 +ok("data" in pi, "No data?"); 1.29 +ok("length" in pi, "No length?"); 1.30 +ok("substringData" in pi, "No substringData?"); 1.31 +ok("appendData" in pi, "No appendData?"); 1.32 +ok("insertData" in pi, "No insertData?"); 1.33 +ok("deleteData" in pi, "No deleteData?"); 1.34 +ok("replaceData" in pi, "No replaceData?"); 1.35 + 1.36 +is(pi.substringData(0, pi.length), pi.data, "wrong data?"); 1.37 +var olddata = pi.data; 1.38 +var appenddata = "foo" 1.39 +pi.appendData(appenddata); 1.40 +is(pi.data, olddata + appenddata, "appendData doesn't work?"); 1.41 +pi.deleteData(olddata.length, appenddata.length); 1.42 +is(pi.data, olddata, "deleteData doesn't work?"); 1.43 +pi.replaceData(0, 0, olddata); 1.44 +is(pi.data, olddata + olddata, "replaceData doesn't work?"); 1.45 +pi.insertData(0, olddata); 1.46 +is(pi.data, olddata + olddata + olddata, "insertData doesn't work?"); 1.47 +pi.data = olddata; 1.48 +is(pi.data, olddata, "setting data doesn't work?"); 1.49 + 1.50 +var r = document.createRange(); 1.51 +r.selectNodeContents(pi); 1.52 +is(r.startContainer, pi, "Wrong startContainer!"); 1.53 +is(r.startOffset, 0, "Wrong startOffset!"); 1.54 +is(r.endContainer, pi, "Wrong endContainer!"); 1.55 +is(r.endOffset, pi.length, "Wrong endOffset!"); 1.56 + 1.57 +var df = r.cloneContents(); 1.58 +is(df.childNodes.length, 1, "Unexpected child nodes?"); 1.59 +ok(df.firstChild.isEqualNode(pi), "Wrong cloning?"); 1.60 + 1.61 +r.setStart(pi, 1); 1.62 +r.setEnd(pi, 3); 1.63 +df = r.cloneContents(); 1.64 +is(df.childNodes.length, 1, "Unexpected child nodes?"); 1.65 +ok(!df.firstChild.isEqualNode(pi), "Should clone to similar pi!"); 1.66 +is(df.firstChild.data, "at", "Wrong data cloning?"); 1.67 + 1.68 +r.selectNode(document.getElementById("rangetest")); 1.69 +is(r.toString(), document.getElementById("rangetest").textContent, 1.70 + "Wrong range stringification!"); 1.71 +ok(r.cloneContents().firstChild.firstChild.nextSibling.firstChild. 1.72 + isEqualNode(document.getElementById("picontainer1").firstChild), 1.73 + "Wrong pi cloning!"); 1.74 +ok(r.cloneContents().firstChild.firstChild.nextSibling.nextSibling.nextSibling.firstChild. 1.75 + isEqualNode(document.getElementById("picontainer2").firstChild), 1.76 + "Wrong pi cloning!"); 1.77 + 1.78 +]]> 1.79 +</script> 1.80 +</pre> 1.81 +</body> 1.82 +</html>