From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../test/browser_net_post-data-raw-payloads.js | 89 ++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js (limited to 'devtools/client/netmonitor/test/browser_net_post-data-raw-payloads.js') 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); +}); -- cgit v1.2.3