diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /devtools/client/netmonitor/test/browser_net_status-bar-transferred-size.js | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/netmonitor/test/browser_net_status-bar-transferred-size.js')
-rw-r--r-- | devtools/client/netmonitor/test/browser_net_status-bar-transferred-size.js | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_status-bar-transferred-size.js b/devtools/client/netmonitor/test/browser_net_status-bar-transferred-size.js new file mode 100644 index 0000000000..bc60a2c87c --- /dev/null +++ b/devtools/client/netmonitor/test/browser_net_status-bar-transferred-size.js @@ -0,0 +1,77 @@ +"use strict"; + +/** + * Test if the value of total data transferred is displayed correctly in the Status Bar + * Test for Bug 1481002 + */ +add_task(async () => { + // Clear cache, so we see expected number of cached requests. + Services.cache2.clear(); + // Disable rcwn to make cache behavior deterministic. + await pushPref("network.http.rcwn.enabled", false); + + const { + getFormattedSize, + } = require("resource://devtools/client/netmonitor/src/utils/format-utils.js"); + + const { tab, monitor } = await initNetMonitor(STATUS_CODES_URL, { + enableCache: true, + requestCount: 1, + }); + info("Starting test... "); + + const { document, store, windowRequire } = monitor.panelWin; + const Actions = windowRequire("devtools/client/netmonitor/src/actions/index"); + const { getDisplayedRequestsSummary } = windowRequire( + "devtools/client/netmonitor/src/selectors/index" + ); + const { L10N } = windowRequire("devtools/client/netmonitor/src/utils/l10n"); + + store.dispatch(Actions.batchEnable(false)); + + info("Performing requests..."); + await performRequestsAndWait(); + + let cachedItemsInUI = 0; + for (const requestItem of document.querySelectorAll(".request-list-item")) { + const requestTransferStatus = requestItem.querySelector( + ".requests-list-transferred" + ).textContent; + if (requestTransferStatus === "cached") { + cachedItemsInUI++; + } + } + + is(cachedItemsInUI, 1, "Number of cached requests displayed is correct"); + + const state = store.getState(); + const totalRequestsCount = state.requests.requests.length; + const requestsSummary = getDisplayedRequestsSummary(state); + info(`Current requests: ${requestsSummary.count} of ${totalRequestsCount}.`); + + const valueTransfer = document.querySelector( + ".requests-list-network-summary-transfer" + ).textContent; + info("Current summary transfer: " + valueTransfer); + const expectedTransfer = L10N.getFormatStrWithNumbers( + "networkMenu.summary.transferred", + getFormattedSize(requestsSummary.contentSize), + getFormattedSize(requestsSummary.transferredSize) + ); + + is( + valueTransfer, + expectedTransfer, + "The current summary transfer is correct." + ); + + await teardown(monitor); + + async function performRequestsAndWait() { + const wait = waitForNetworkEvents(monitor, 2); + await SpecialPowers.spawn(tab.linkedBrowser, [], async function () { + content.wrappedJSObject.performOneCachedRequest(); + }); + await wait; + } +}); |