diff options
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_webconsole_network_message_close_on_escape.js')
-rw-r--r-- | devtools/client/webconsole/test/browser/browser_webconsole_network_message_close_on_escape.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_webconsole_network_message_close_on_escape.js b/devtools/client/webconsole/test/browser/browser_webconsole_network_message_close_on_escape.js new file mode 100644 index 0000000000..e5549a686e --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_webconsole_network_message_close_on_escape.js @@ -0,0 +1,56 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const TEST_FILE = "test-network-request.html"; +const TEST_PATH = + "https://example.com/browser/devtools/client/webconsole/test/browser/"; +const TEST_URI = TEST_PATH + TEST_FILE; + +registerCleanupFunction(async function () { + await new Promise(resolve => { + Services.clearData.deleteData(Ci.nsIClearDataService.CLEAR_ALL, value => + resolve() + ); + }); +}); + +add_task(async function task() { + await pushPref("devtools.webconsole.filter.netxhr", true); + const hud = await openNewTabAndConsole(TEST_URI); + + const currentTab = gBrowser.selectedTab; + const toolbox = gDevTools.getToolboxForTab(currentTab); + + const xhrUrl = TEST_PATH + "test-data.json"; + const onMessage = waitForMessageByType(hud, xhrUrl, ".network"); + + // Fire an XHR POST request. + SpecialPowers.spawn(gBrowser.selectedBrowser, [], function () { + content.wrappedJSObject.testXhrGet(); + }); + + const { node: messageNode } = await onMessage; + ok(messageNode, "Network message found."); + + // Expand network log + info("Click on XHR message to display network detail panel"); + messageNode.querySelector(".url").click(); + const headersTab = await waitFor(() => + messageNode.querySelector("#headers-tab") + ); + ok(headersTab, "Headers tab is available"); + + // Wait for all network RDP request to be finished and have updated the UI + await waitUntil(() => + messageNode.querySelector("#headers-panel .headers-overview") + ); + + info("Focus header tab and hit Escape"); + headersTab.focus(); + EventUtils.sendKey("ESCAPE", toolbox.win); + + await waitFor(() => !messageNode.querySelector(".network-info")); + ok(true, "The detail panel was closed on escape"); +}); |