diff options
Diffstat (limited to 'dom/base/test/test_copypaste.xhtml')
-rw-r--r-- | dom/base/test/test_copypaste.xhtml | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/dom/base/test/test_copypaste.xhtml b/dom/base/test/test_copypaste.xhtml new file mode 100644 index 0000000000..ebc1371560 --- /dev/null +++ b/dom/base/test/test_copypaste.xhtml @@ -0,0 +1,112 @@ +<?xml version="1.0"?> +<!-- +This test is copied from test_copypaste.html, but it's XHTML instead of HTML. +XHTML is encoded differently from HTML when copied; see bugs 888839 and 723163. +This test is different from test_copypaste.html in two ways: + + 1. The text/html clipboard flavor isn't tested, since nsCopySupport doesn't + produce it for XHTML. + 2. The text/plain flavor isn't tested when the selection is in hidden + elements, since nsCopySupport doesn't produce text/plain for hidden + elements, and unlike HTML, neither does it produce text/_moz_htmlcontext + and text/_moz_htmlinfo, which the clipboard converts to text/plain. +--> +<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>Test for copy/paste with XHTML</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="copypaste.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=888839">Mozilla Bug 888839</a> +<p id="display"></p> +<div id="content" style="display: none"> +</div> +<pre id="test"> +<script class="testbody" type="text/javascript"> +<![CDATA[ + +function modifySelectionDiv12() { + modifySelection("X<b style='display:none'>Y</b>"); +} + +SimpleTest.waitForExplicitFinish(); +addLoadEvent(() => { + add_task(async function test_copyhtml() { + await testCopyPaste(true); + }); +}); + +]]> +</script> +</pre> +<div> + + <div id="draggable" title="title to have a long HTML line">This is a <em>draggable</em> bit of text.</div> + <textarea id="input" cols="40" rows="10"></textarea> + + <div id="alist"> + bla + <ul> + <li>foo</li> + <li style="display: none;">baz</li> + <li>bar</li> + </ul> + </div> + + <div id="blist"> + mozilla + <ol> + <li>foo</li> + <li style="display: none;">baz</li> + <li>bar</li> + </ol> + </div> + + <div id="clist"> + mzla + <ul> + <li>foo<ul> + <li>bazzinga!</li> + </ul></li> + <li style="display: none;">baz</li> + <li>bar</li> + </ul> + </div> + +<div id="div4"> + T<textarea>t t t</textarea> +</div> + +<div id="div5"> + T<textarea> </textarea> +</div> + +<div id="div6" style="display:none"></div> +<script> +var x = $("div6") +x.appendChild(document.createTextNode('di')) +x.appendChild(document.createTextNode('v6')) +</script> + +<div id="div7" style="display:none">div7</div> +<div id="div8" style="visibility:hidden">div8</div> +<div style="visibility:hidden"><div id="div9" style="visibility:visible">div9</div></div> +<div style="visibility:hidden"><div><div><div id="div10"></div></div></div></div> +<script> +var x = $("div10") +x.appendChild(document.createTextNode('div')) +x.appendChild(document.createTextNode('10')) +</script> + +<div id="div11" oncopy="modifySelection('X')"><span>div</span>11</div> +<div id="div12" oncopy="modifySelectionDiv12()"><span>div</span>12</div> + +<div id="div13">_<noscript>FAIL</noscript>_</div> + +<table><tr id="tr1"><td>foo</td><td>bar</td></tr></table> + +</div> +</body> +</html> |