/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ // Test devtools/client/netmonitor/src/utils/request-utils.js function // |fetchNetworkUpdatePacket| "use strict"; const { require } = ChromeUtils.importESModule( "resource://devtools/shared/loader/Loader.sys.mjs" ); const { fetchNetworkUpdatePacket, } = require("resource://devtools/client/netmonitor/src/utils/request-utils.js"); function run_test() { let fetchedNetworkUpdateTypes = []; async function mockConnectorRequestData(id, updateType) { fetchedNetworkUpdateTypes.push(updateType); return updateType; } const updateTypes = ["requestHeaders", "responseHeaders"]; const request = { id: "foo", requestHeadersAvailable: true, responseHeadersAvailable: true, }; info( "Testing that the expected network update packets were fetched from the server" ); fetchNetworkUpdatePacket(mockConnectorRequestData, request, updateTypes); equal(fetchedNetworkUpdateTypes.length, 2, "Two network request updates"); equal( fetchedNetworkUpdateTypes[0], "requestHeaders", "Request headers updates" ); equal( fetchedNetworkUpdateTypes[1], "responseHeaders", " Response headers updates" ); // clear the fetch updates for next test fetchedNetworkUpdateTypes = []; info( "Testing that no network updates were fetched when no `request` is provided" ); fetchNetworkUpdatePacket(mockConnectorRequestData, undefined, updateTypes); equal(fetchedNetworkUpdateTypes.length, 0, "No network request updates"); }