browser_net_truncate.js (1838B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 /** 7 * Verifies that truncated response bodies still have the correct reported size. 8 */ 9 add_task(async function () { 10 const limit = Services.prefs.getIntPref( 11 "devtools.netmonitor.responseBodyLimit" 12 ); 13 const URL = EXAMPLE_URL + "sjs_truncate-test-server.sjs?limit=" + limit; 14 const { monitor } = await initNetMonitor(URL, { requestCount: 1 }); 15 16 info("Starting test... "); 17 18 const { 19 L10N, 20 } = require("resource://devtools/client/netmonitor/src/utils/l10n.js"); 21 22 const { document } = monitor.panelWin; 23 24 const wait = waitForNetworkEvents(monitor, 1); 25 await reloadBrowser(); 26 await wait; 27 28 // Response content will be updated asynchronously, we should make sure data is updated 29 // on DOM before asserting. 30 await waitUntil(() => document.querySelector(".request-list-item")); 31 const item = document.querySelectorAll(".request-list-item")[0]; 32 await waitUntil(() => item.querySelector(".requests-list-type").title); 33 34 const type = item.querySelector(".requests-list-type").textContent; 35 const fullMimeType = item.querySelector(".requests-list-type").title; 36 const transferred = item.querySelector( 37 ".requests-list-transferred" 38 ).textContent; 39 const size = item.querySelector(".requests-list-size").textContent; 40 41 is(type, "plain", "Type should be rendered correctly."); 42 is( 43 fullMimeType, 44 "text/plain; charset=utf-8", 45 "Mimetype should be rendered correctly." 46 ); 47 is( 48 transferred, 49 L10N.getFormatStrWithNumbers("networkMenu.sizeMB", 2.1), 50 "Transferred size should be rendered correctly." 51 ); 52 is( 53 size, 54 L10N.getFormatStrWithNumbers("networkMenu.sizeMB", 2.1), 55 "Size should be rendered correctly." 56 ); 57 58 return teardown(monitor); 59 });