diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js')
-rw-r--r-- | devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js b/devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js new file mode 100644 index 0000000000..505b6840b3 --- /dev/null +++ b/devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js @@ -0,0 +1,89 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/** + * Tests if the POST requests display the correct information in the UI, + * for raw payloads with attached content-type headers. + */ +add_task(async function () { + const { + L10N, + } = require("resource://devtools/client/netmonitor/src/utils/l10n.js"); + + const { tab, monitor } = await initNetMonitor(POST_RAW_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)); + + // Execute requests. + await performRequests(monitor, tab, 1); + + // Wait for raw data toggle to be displayed + const wait = waitForDOM( + document, + "#request-panel .raw-data-toggle-input .devtools-checkbox-toggle" + ); + EventUtils.sendMouseEvent( + { type: "mousedown" }, + document.querySelectorAll(".request-list-item")[0] + ); + clickOnSidebarTab(document, "request"); + await wait; + + const tabpanel = document.querySelector("#request-panel"); + + ok( + tabpanel.querySelector(".treeTable"), + "The request params doesn't have the intended visibility." + ); + ok( + tabpanel.querySelector(".editor-mount") === null, + "The request post data doesn't have the indented visibility." + ); + + is( + tabpanel.querySelectorAll(".raw-data-toggle") !== null, + true, + "The raw request data toggle should be displayed in this tabpanel." + ); + is( + tabpanel.querySelectorAll(".empty-notice").length, + 0, + "The empty notice should not be displayed in this tabpanel." + ); + + is( + tabpanel.querySelector(".data-label").textContent, + L10N.getStr("paramsFormData"), + "The post section doesn't have the correct title." + ); + + const labels = tabpanel.querySelectorAll("tr .treeLabelCell .treeLabel"); + const values = tabpanel.querySelectorAll("tr .treeValueCell .objectBox"); + + is(labels[0].textContent, "foo", "The first query param name was incorrect."); + is( + values[0].textContent, + `"bar"`, + "The first query param value was incorrect." + ); + is( + labels[1].textContent, + "baz", + "The second query param name was incorrect." + ); + is( + values[1].textContent, + `"123"`, + "The second query param value was incorrect." + ); + + return teardown(monitor); +}); |