From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../browser_webconsole_output_copy_newlines.js | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 devtools/client/webconsole/test/browser/browser_webconsole_output_copy_newlines.js (limited to 'devtools/client/webconsole/test/browser/browser_webconsole_output_copy_newlines.js') diff --git a/devtools/client/webconsole/test/browser/browser_webconsole_output_copy_newlines.js b/devtools/client/webconsole/test/browser/browser_webconsole_output_copy_newlines.js new file mode 100644 index 0000000000..c2304cbd69 --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_webconsole_output_copy_newlines.js @@ -0,0 +1,42 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Test that multiple messages are copied into the clipboard and that they are +// separated by new lines. See bug 916997. +const TEST_URI = + "data:text/html," + + "Test copy multiple messages to clipboard"; + +add_task(async function () { + const hud = await openNewTabAndConsole(TEST_URI); + + const messages = Array.from( + { length: 10 }, + (_, i) => `Message number ${i + 1}` + ); + const lastMessage = [...messages].pop(); + const onMessage = waitForMessageByType(hud, lastMessage, ".console-api"); + SpecialPowers.spawn(gBrowser.selectedBrowser, [messages], msgs => { + msgs.forEach(msg => content.wrappedJSObject.console.log(msg)); + }); + const { node } = await onMessage; + ok(node, "Messages were logged"); + + // Select the whole output. + const output = node.closest(".webconsole-output"); + selectNode(hud, output); + + info( + "Wait for the clipboard to contain the text corresponding to all the messages" + ); + await waitForClipboardPromise( + () => { + // The focus is on the JsTerm, so we need to blur it for the copy comand to work. + output.ownerDocument.activeElement.blur(); + goDoCommand("cmd_copy"); + }, + data => data.trim() === messages.join("\n") + ); +}); -- cgit v1.2.3