diff options
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_webconsole_output_copy.js')
-rw-r--r-- | devtools/client/webconsole/test/browser/browser_webconsole_output_copy.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_webconsole_output_copy.js b/devtools/client/webconsole/test/browser/browser_webconsole_output_copy.js new file mode 100644 index 0000000000..74cbc98f8a --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_webconsole_output_copy.js @@ -0,0 +1,40 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Test copy to clipboard on the console output. See Bug 587617. +const TEST_URI = + "data:text/html,<!DOCTYPE html>Test copy to clipboard on the console output"; + +add_task(async function () { + const hud = await openNewTabAndConsole(TEST_URI); + + const smokeMessage = "Hello world!"; + const onMessage = waitForMessageByType(hud, smokeMessage, ".console-api"); + SpecialPowers.spawn(gBrowser.selectedBrowser, [smokeMessage], function (msg) { + content.wrappedJSObject.console.log(msg); + }); + const { node } = await onMessage; + ok(true, "Message was logged"); + + const selection = selectNode(hud, node); + + const selectionString = selection.toString().trim(); + is( + selectionString, + smokeMessage, + `selection has expected "${smokeMessage}" value` + ); + + await waitForClipboardPromise( + () => { + // The focus is on the JsTerm, so we need to blur it for the copy comand to work. + node.ownerDocument.activeElement.blur(); + goDoCommand("cmd_copy"); + }, + data => { + return data.trim() === smokeMessage; + } + ); +}); |