Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'linux' && os_version == '24.04' && arch == 'x86_64' && display == 'x11' && debug && http3
- Manifest: devtools/client/netmonitor/test/browser.toml
/* Any copyright is dedicated to the Public Domain.
"use strict";
/**
* Tests if the POST data displays in the UI before the server
* sends any response.
*/
add_task(async function () {
const { tab, monitor } = await initNetMonitor(SIMPLE_URL, {
requestCount: 1,
});
info("Starting test... ");
const { document, store, windowRequire } = monitor.panelWin;
const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
const waitForRequest = waitForDOM(document, ".request-list-item");
SpecialPowers.spawn(
tab.linkedBrowser,
["sjs_no-response-server.sjs"],
url => {
const xhr = new content.XMLHttpRequest();
xhr.open("POST", url, true);
xhr.send("foobar");
}
);
await waitForRequest;
EventUtils.sendMouseEvent(
{ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]
);
const waitForPanel = waitForDOM(document, "#request-panel .cm-content");
clickOnSidebarTab(document, "request");
await waitForPanel;
const tabpanel = document.querySelector("#request-panel");
is(
tabpanel.querySelectorAll(".empty-notice").length,
0,
"The empty notice is not displayed in this tabpanel."
);
const editor = tabpanel.querySelector(".cm-content");
is(editor.textContent, "foobar", "The editor content is foobar");
const requestListItem = document.querySelectorAll(".request-list-item")[0];
ok(
!requestListItem.querySelector(".requests-list-status-code")?.textContent,
"The request list item should not display a status code yet."
);
return teardown(monitor);
});