diff options
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_console_context_menu_export_console_output.js')
-rw-r--r-- | devtools/client/webconsole/test/browser/browser_console_context_menu_export_console_output.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_console_context_menu_export_console_output.js b/devtools/client/webconsole/test/browser/browser_console_context_menu_export_console_output.js new file mode 100644 index 0000000000..bd5d2740be --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_console_context_menu_export_console_output.js @@ -0,0 +1,53 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const TEST_URI = `data:text/html,<!DOCTYPE html><meta charset=utf8>console API calls<script> + console.log({ + contentObject: "YAY!", + deep: ["hello", "world"] + }); +</script>`; + +add_task(async function () { + // Show the content messages + await pushPref("devtools.browsertoolbox.scope", "everything"); + + await addTab(TEST_URI); + + info("Open the Browser Console"); + const hud = await BrowserConsoleManager.toggleBrowserConsole(); + + info("Wait until the content object is displayed"); + const message = await waitFor(() => + findConsoleAPIMessage( + hud, + `Object { contentObject: "YAY!", deep: (2) […] }` + ) + ); + ok(true, "Content object is displayed in the Browser Console"); + // Clear clipboard content. + SpecialPowers.clipboardCopyString(""); + + const menuPopup = await openContextMenu(hud, message); + const exportClipboard = menuPopup.querySelector( + "#console-menu-export-clipboard" + ); + ok(exportClipboard, "copy menu item is enabled"); + + const clipboardText = await waitForClipboardPromise( + () => exportClipboard.click(), + data => data.includes("YAY") + ); + menuPopup.hidePopup(); + + ok(true, "Clipboard text was found and saved"); + // We're only checking that the export did work. + // browser_webconsole_context_menu_export_console_output.js covers the feature in + // greater detail. + ok( + clipboardText.includes(`Object { contentObject: "YAY!", deep: (2) […] }`), + "Message was exported to clipboard" + ); +}); |