fune/devtools/client/netmonitor/test/browser_net_large-response.js
Hemakshi Sachdev 84c187d1fe Bug 1474207 - Network Monitor response payload testing method variances. r=Honza
Changed the way we to access contents of `.CodeMirror`, by using `CodeMirror.getValue()` instead of `.textContent`

Differential Revision: https://phabricator.services.mozilla.com/D22079

--HG--
extra : moz-landing-system : lando
2019-03-07 15:38:21 +00:00

66 lines
2.1 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if very large response contents are just displayed as plain text.
*/
const HTML_LONG_URL = CONTENT_TYPE_SJS + "?fmt=html-long";
add_task(async function() {
const { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
info("Starting test... ");
// This test could potentially be slow because over 100 KB of stuff
// is going to be requested and displayed in the source editor.
requestLongerTimeout(2);
const { document, store, windowRequire } = monitor.panelWin;
const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
const {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
await ContentTask.spawn(tab.linkedBrowser, HTML_LONG_URL, async function(url) {
content.wrappedJSObject.performRequests(1, url);
});
await wait;
const requestItem = document.querySelector(".request-list-item");
requestItem.scrollIntoView();
const requestsListStatus = requestItem.querySelector(".status-code");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=html-long",
{
status: 200,
statusText: "OK",
});
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
store.dispatch(Actions.toggleNetworkDetails());
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
await wait;
ok(getCodeMirrorValue(monitor).match(/^<p>/),
"The text shown in the source editor is incorrect.");
await teardown(monitor);
// This test uses a lot of memory, so force a GC to help fragmentation.
info("Forcing GC after netmonitor test.");
Cu.forceGC();
});