mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-05 00:02:37 +00:00

This is an autogenerated commit to handle scripts loading mochitest harness files, in the case where the script src is on the line below the script tag. This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170 using the `--part 3` argument. Differential Revision: https://phabricator.services.mozilla.com/D27458 --HG-- extra : moz-landing-system : lando
105 lines
2.9 KiB
XML
105 lines
2.9 KiB
XML
<?xml version="1.0"?>
|
|
<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
|
|
<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=466599
|
|
-->
|
|
<window title="Mozilla Bug 466599"
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
|
onload="initAndRunTests()">
|
|
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
|
|
|
|
<!-- test results are displayed in the html:body -->
|
|
<body xmlns="http://www.w3.org/1999/xhtml">
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none"></div>
|
|
<pre id="test"></pre>
|
|
</body>
|
|
|
|
<!-- test code goes here -->
|
|
<script class="testbody" type="application/javascript">
|
|
<![CDATA[
|
|
|
|
/** Test for Bug 466599 **/
|
|
|
|
function getLoadContext() {
|
|
return window.docShell.QueryInterface(Ci.nsILoadContext);
|
|
}
|
|
|
|
function copyToClipboard(txt)
|
|
{
|
|
var clipid = Ci.nsIClipboard;
|
|
var clip =
|
|
Cc['@mozilla.org/widget/clipboard;1'].createInstance(clipid);
|
|
if (!clip)
|
|
return false;
|
|
var trans =
|
|
Cc['@mozilla.org/widget/transferable;1'].createInstance(Ci.nsITransferable);
|
|
if (!trans)
|
|
return false;
|
|
trans.init(getLoadContext());
|
|
trans.addDataFlavor('text/html');
|
|
var str =
|
|
Cc['@mozilla.org/supports-string;1'].createInstance(Ci.nsISupportsString);
|
|
var copytext = txt;
|
|
str.data = copytext;
|
|
trans.setTransferData("text/html",str,copytext.length*2);
|
|
if (!clip)
|
|
return false;
|
|
clip.setData(trans,null,clipid.kGlobalClipboard);
|
|
return true;
|
|
}
|
|
|
|
function readFromClipboard()
|
|
{
|
|
var clipid = Ci.nsIClipboard;
|
|
var clip =
|
|
Cc['@mozilla.org/widget/clipboard;1'].createInstance(clipid);
|
|
if (!clip)
|
|
return;
|
|
var trans =
|
|
Cc['@mozilla.org/widget/transferable;1'].createInstance(Ci.nsITransferable);
|
|
if (!trans)
|
|
return;
|
|
trans.init(getLoadContext());
|
|
trans.addDataFlavor('text/html');
|
|
clip.getData(trans,clipid.kGlobalClipboard);
|
|
var str = new Object();
|
|
trans.getTransferData("text/html",str);
|
|
if (str)
|
|
str = str.value.QueryInterface(Ci.nsISupportsString);
|
|
if (str)
|
|
pastetext = str.data;
|
|
return pastetext;
|
|
}
|
|
|
|
function encodeHtmlEntities(s)
|
|
{
|
|
var result = '';
|
|
for (var i = 0; i < s.length; i++) {
|
|
var c = s.charAt(i);
|
|
result += {'<':'<', '>':'>', '&':'&', '"':'"'}[c] || c;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
function initAndRunTests()
|
|
{
|
|
var source = '<p>Lorem ipsum</p>';
|
|
var expect = new RegExp('<html>.*charset=utf-8.*' + source + '.*</html>', 'im');
|
|
|
|
var result = copyToClipboard(source);
|
|
ok(result, "copied HTML data to system pasteboard");
|
|
|
|
result = readFromClipboard();
|
|
ok(expect.test(result), "data on system pasteboard is wrapped with charset metadata");
|
|
|
|
$("display").innerHTML =
|
|
'<em>source:</em> <pre>' + encodeHtmlEntities(source) + '</pre><br/>' +
|
|
'<em>result:</em> <pre>' + encodeHtmlEntities(result) + '</pre>';
|
|
}
|
|
|
|
]]>
|
|
</script>
|
|
</window>
|