/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Verifies that truncated response bodies still have the correct reported size.
*/
add_task(async
function () {
const limit = Services.prefs.getIntPref(
"devtools.netmonitor.responseBodyLimit"
);
const URL = EXAMPLE_URL +
"sjs_truncate-test-server.sjs?limit=" + limit;
const { monitor } = await initNetMonitor(URL, { requestCount: 1 });
info(
"Starting test... ");
const {
L10N,
} = require(
"resource://devtools/client/netmonitor/src/utils/l10n.js");
const { document } = monitor.panelWin;
const wait = waitForNetworkEvents(monitor, 1);
await reloadBrowser();
await wait;
// Response content will be updated asynchronously, we should make sure data is updated
// on DOM before asserting.
await waitUntil(() => document.querySelector(
".request-list-item"));
const item = document.querySelectorAll(
".request-list-item")[0];
await waitUntil(() => item.querySelector(
".requests-list-type").title);
const type = item.querySelector(
".requests-list-type").textContent;
const fullMimeType = item.querySelector(
".requests-list-type").title;
const transferred = item.querySelector(
".requests-list-transferred"
).textContent;
const size = item.querySelector(
".requests-list-size").textContent;
is(type,
"plain",
"Type should be rendered correctly.");
is(
fullMimeType,
"text/plain; charset=utf-8",
"Mimetype should be rendered correctly."
);
is(
transferred,
L10N.getFormatStrWithNumbers(
"networkMenu.sizeMB", 2.1),
"Transferred size should be rendered correctly."
);
is(
size,
L10N.getFormatStrWithNumbers(
"networkMenu.sizeMB", 2.1),
"Size should be rendered correctly."
);
return teardown(monitor);
});