Bug 1401944 - Delete browser_webconsole_copy_link_location in new console frontend; r=jdescottes.
The test was already migrated. Took this as an opportunity to refactor the
migrated test a bit.
MozReview-Commit-ID: CjbBelrWjS8
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini
@@ -253,18 +253,16 @@ subsuite = clipboard
skip-if = (os == 'linux' && bits == 32 && debug) # bug 1328915, disable linux32 debug devtools for timeouts
[browser_webconsole_context_menu_copy_link_location.js]
subsuite = clipboard
skip-if = (os == 'linux' && bits == 32 && debug) # bug 1328915, disable linux32 debug devtools for timeouts
[browser_webconsole_context_menu_copy_object.js]
subsuite = clipboard
[browser_webconsole_context_menu_open_url.js]
[browser_webconsole_context_menu_store_as_global.js]
-[browser_webconsole_copy_link_location.js]
-skip-if = true # Bug 1401944
[browser_webconsole_csp_ignore_reflected_xss_message.js]
skip-if = (e10s && debug) || (e10s && os == 'win') # Bug 1221499 enabled these on windows
[browser_webconsole_cspro.js]
skip-if = true # Bug 1408932
# old console skip-if = e10s && (os == 'win' || os == 'mac') # Bug 1243967
[browser_webconsole_ctrl_key_nav.js]
skip-if = true # Bug 1408933
# old console skip-if = os != "mac"
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_context_menu_copy_link_location.js
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_context_menu_copy_link_location.js
@@ -17,42 +17,44 @@ add_task(async function() {
await pushPref("devtools.webconsole.filter.net", true);
let hud = await openNewTabAndConsole(TEST_URI);
hud.jsterm.clearOutput();
info("Test Copy URL menu item for text log");
info("Logging a text message in the content window");
+ let onLogMessage = waitForMessage(hud, "simple text message");
await ContentTask.spawn(gBrowser.selectedBrowser, null, () => {
content.wrappedJSObject.console.log("simple text message");
});
- let message = await waitFor(() => findMessage(hud, "simple text message"));
+ let message = await onLogMessage;
ok(message, "Text log found in the console");
info("Open and check the context menu for the logged text message");
- let menuPopup = await openContextMenu(hud, message);
+ let menuPopup = await openContextMenu(hud, message.node);
let copyURLItem = menuPopup.querySelector(CONTEXT_MENU_ID);
ok(!copyURLItem, "Copy URL menu item is hidden for a simple text message");
await hideContextMenu(hud);
hud.jsterm.clearOutput();
info("Test Copy URL menu item for network log");
info("Reload the content window to produce a network log");
+ let onNetworkMessage = waitForMessage(hud, "test-console.html");
await ContentTask.spawn(gBrowser.selectedBrowser, null, () => {
content.wrappedJSObject.location.reload();
});
- message = await waitFor(() => findMessage(hud, "test-console.html"));
+ message = await onNetworkMessage;
ok(message, "Network log found in the console");
info("Open and check the context menu for the logged network message");
- menuPopup = await openContextMenu(hud, message);
+ menuPopup = await openContextMenu(hud, message.node);
copyURLItem = menuPopup.querySelector(CONTEXT_MENU_ID);
ok(copyURLItem, "Copy url menu item is available in context menu");
info("Click on Copy URL menu item and wait for clipboard to be updated");
await waitForClipboardPromise(() => copyURLItem.click(), TEST_URI);
ok(true, "Expected text was copied to the clipboard.");
await hideContextMenu(hud);
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_webconsole_copy_link_location.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test for the "Copy link location" context menu item shown when you right
-// click network requests in the output. See Bug 638949.
-
-"use strict";
-
-add_task(function* () {
- const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
- "test/test-console.html?_date=" + Date.now();
- const COMMAND_NAME = "consoleCmd_copyURL";
- const CONTEXT_MENU_ID = "#menu_copyURL";
-
- registerCleanupFunction(() => {
- Services.prefs.clearUserPref("devtools.webconsole.filter.networkinfo");
- });
-
- Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", true);
-
- yield loadTab(TEST_URI);
- let hud = yield openConsole();
- let output = hud.outputNode;
- let menu = hud.iframeWindow.document.getElementById("output-contextmenu");
-
- hud.jsterm.clearOutput();
- content.console.log("bug 638949");
-
- // Test that the "Copy Link Location" command is disabled for non-network
- // messages.
- let [result] = yield waitForMessages({
- webconsole: hud,
- messages: [{
- text: "bug 638949",
- category: CATEGORY_WEBDEV,
- severity: SEVERITY_LOG,
- }],
- });
-
- output.focus();
- let message = [...result.matched][0];
-
- goUpdateCommand(COMMAND_NAME);
- ok(!isEnabled(), COMMAND_NAME + " is disabled");
-
- // Test that the "Copy Link Location" menu item is hidden for non-network
- // messages.
- yield waitForContextMenu(menu, message, () => {
- let isHidden = menu.querySelector(CONTEXT_MENU_ID).hidden;
- ok(isHidden, CONTEXT_MENU_ID + " is hidden");
- });
-
- hud.jsterm.clearOutput();
- // Reloading will produce network logging
- content.location.reload();
-
- // Test that the "Copy Link Location" command is enabled and works
- // as expected for any network-related message.
- // This command should copy only the URL.
- [result] = yield waitForMessages({
- webconsole: hud,
- messages: [{
- text: "test-console.html",
- category: CATEGORY_NETWORK,
- severity: SEVERITY_LOG,
- }],
- });
-
- output.focus();
- message = [...result.matched][0];
- hud.ui.output.selectMessage(message);
-
- goUpdateCommand(COMMAND_NAME);
- ok(isEnabled(), COMMAND_NAME + " is enabled");
-
- info("expected clipboard value: " + message.url);
-
- let deferred = defer();
-
- waitForClipboard((aData) => {
- return aData.trim() == message.url;
- }, () => {
- goDoCommand(COMMAND_NAME);
- }, () => {
- deferred.resolve(null);
- }, () => {
- deferred.reject(null);
- });
-
- yield deferred.promise;
-
- // Test that the "Copy Link Location" menu item is visible for network-related
- // messages.
- yield waitForContextMenu(menu, message, () => {
- let isVisible = !menu.querySelector(CONTEXT_MENU_ID).hidden;
- ok(isVisible, CONTEXT_MENU_ID + " is visible");
- });
-
- // Return whether "Copy Link Location" command is enabled or not.
- function isEnabled() {
- let controller = top.document.commandDispatcher
- .getControllerForCommand(COMMAND_NAME);
- return controller && controller.isCommandEnabled(COMMAND_NAME);
- }
-});