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 --- .../netmonitor/test/browser_net_timing-division.js | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 devtools/client/netmonitor/test/browser_net_timing-division.js (limited to 'devtools/client/netmonitor/test/browser_net_timing-division.js') diff --git a/devtools/client/netmonitor/test/browser_net_timing-division.js b/devtools/client/netmonitor/test/browser_net_timing-division.js new file mode 100644 index 0000000000..05935999a1 --- /dev/null +++ b/devtools/client/netmonitor/test/browser_net_timing-division.js @@ -0,0 +1,67 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/** + * Tests if timing intervals are divided against seconds when appropriate. + */ +add_task(async function () { + // Show only few columns, so there is enough space + // for the waterfall. + await pushPref( + "devtools.netmonitor.visibleColumns", + '["status", "contentSize", "waterfall"]' + ); + + const { tab, monitor } = await initNetMonitor(CUSTOM_GET_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 wait = waitForNetworkEvents(monitor, 2); + // Timeout needed for having enough divisions on the time scale. + await SpecialPowers.spawn(tab.linkedBrowser, [], async function () { + content.wrappedJSObject.performRequests(2, null, 3000); + }); + await wait; + + const milDivs = document.querySelectorAll( + ".requests-list-timings-division[data-division-scale=millisecond]" + ); + const secDivs = document.querySelectorAll( + ".requests-list-timings-division[data-division-scale=second]" + ); + const minDivs = document.querySelectorAll( + ".requests-list-timings-division[data-division-scale=minute]" + ); + + info("Number of millisecond divisions: " + milDivs.length); + info("Number of second divisions: " + secDivs.length); + info("Number of minute divisions: " + minDivs.length); + + milDivs.forEach(div => info(`Millisecond division: ${div.textContent}`)); + secDivs.forEach(div => info(`Second division: ${div.textContent}`)); + minDivs.forEach(div => info(`Minute division: ${div.textContent}`)); + + is( + store.getState().requests.requests.length, + 2, + "There should be only two requests made." + ); + + ok( + secDivs.length, + "There should be at least one division on the seconds time scale." + ); + ok( + secDivs[0].textContent.match(/\d+\.\d{2}\s\w+/), + "The division on the seconds time scale looks legit." + ); + + return teardown(monitor); +}); -- cgit v1.2.3