diff options
Diffstat (limited to '')
-rw-r--r-- | devtools/client/netmonitor/test/browser_net_params_sorted.js | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_params_sorted.js b/devtools/client/netmonitor/test/browser_net_params_sorted.js new file mode 100644 index 0000000000..6008909889 --- /dev/null +++ b/devtools/client/netmonitor/test/browser_net_params_sorted.js @@ -0,0 +1,83 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/** + * Tests whether keys in Params panel are sorted. + */ +add_task(async function () { + const { tab, monitor } = await initNetMonitor(POST_ARRAY_DATA_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); + + const wait = waitForDOM(document, ".headers-overview"); + EventUtils.sendMouseEvent( + { type: "mousedown" }, + document.querySelectorAll(".request-list-item")[0] + ); + await wait; + + clickOnSidebarTab(document, "request"); + + // The Params panel should render the following + // POSTed JSON data structure: + // + // ▼ JSON + // ▼ watches: […] + // 0: hello + // 1: how + // 2: are + // 3: you + // ▼ 4: {…} + // a: 10 + // ▼ b: […] + // 0: "a" + // 1: "c" + // 2: "b" + // c: 15 + const expectedKeys = [ + "watches\t[…]", + `0\t"hello"`, + `1\t"how"`, + `2\t"are"`, + `3\t"you"`, + "4\t{…}", + "a\t10", + "b\t[…]", + `0\t"a"`, + `1\t"c"`, + `2\t"b"`, + "c\t15", + ]; + + const waitForTreeRow = waitForDOM( + document, + ".treeTable .treeRow", + expectedKeys.length + ); + await waitForTreeRow; + const actualKeys = document.querySelectorAll(".treeTable .treeRow"); + + for (let i = 0; i < actualKeys.length; i++) { + const text = actualKeys[i].innerText.trim(); + is( + text, + expectedKeys[i], + "Actual value " + + text + + " is equal to the " + + "expected value " + + expectedKeys[i] + ); + } +}); |