diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /widget/tests/test_clipboard.xul | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'widget/tests/test_clipboard.xul')
-rw-r--r-- | widget/tests/test_clipboard.xul | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/widget/tests/test_clipboard.xul b/widget/tests/test_clipboard.xul new file mode 100644 index 000000000..19a55714d --- /dev/null +++ b/widget/tests/test_clipboard.xul @@ -0,0 +1,80 @@ +<?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=948065 +--> +<window title="Mozilla Bug 948065" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + onload="initAndRunTests()"> + <script type="application/javascript" + 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 948065 **/ + + const Cc = Components.classes; + const Ci = Components.interfaces; + + const kIsMac = navigator.platform.indexOf("Mac") == 0; + + function getLoadContext() { + return window.QueryInterface(Ci.nsIInterfaceRequestor) + .getInterface(Ci.nsIWebNavigation) + .QueryInterface(Ci.nsILoadContext); + } + + // Get clipboard data to paste. + function paste(clipboard) { + let trans = Cc['@mozilla.org/widget/transferable;1'] + .createInstance(Ci.nsITransferable); + trans.init(getLoadContext()); + trans.addDataFlavor("text/unicode"); + clipboard.getData(trans, Ci.nsIClipboard.kGlobalClipboard); + let str = {}; + let length = {}; + try { + trans.getTransferData('text/unicode', str, length); + } catch (e) { + str = ''; + } + if (str) { + str = str.value.QueryInterface(Ci.nsISupportsString); + if (str) { + str = str.data.substring(0, length.value / 2); + } + } + return str; + } + + function initAndRunTests() { + let clipboard = Cc['@mozilla.org/widget/clipboard;1'] + .getService(Ci.nsIClipboard); + + // Test copy. + const data = "random number: " + Math.random(); + let helper = Cc['@mozilla.org/widget/clipboardhelper;1'] + .getService(Ci.nsIClipboardHelper); + helper.copyString(data); + is(paste(clipboard), data, 'Data was successfully copied.'); + + // Test emptyClipboard, disabled for OSX because bug 666254 + if (!kIsMac) { + clipboard.emptyClipboard(Ci.nsIClipboard.kGlobalClipboard); + is(paste(clipboard), '', 'Data was successfully cleared.'); + } + } + + ]]> + </script> +</window> |