summaryrefslogtreecommitdiff
path: root/browser/devtools/netmonitor/test/browser_net_details-no-duplicated-content.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/devtools/netmonitor/test/browser_net_details-no-duplicated-content.js')
-rw-r--r--browser/devtools/netmonitor/test/browser_net_details-no-duplicated-content.js155
1 files changed, 0 insertions, 155 deletions
diff --git a/browser/devtools/netmonitor/test/browser_net_details-no-duplicated-content.js b/browser/devtools/netmonitor/test/browser_net_details-no-duplicated-content.js
deleted file mode 100644
index 343f80607..000000000
--- a/browser/devtools/netmonitor/test/browser_net_details-no-duplicated-content.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-"use strict";
-
-// A test to ensure that the content in details pane is not duplicated.
-
-let test = Task.async(function* () {
- info("Initializing test");
- let [tab, debuggee, monitor] = yield initNetMonitor(CUSTOM_GET_URL);
- let panel = monitor.panelWin;
- let { NetMonitorView, EVENTS } = panel;
- let { RequestsMenu, NetworkDetails } = NetMonitorView;
-
- const COOKIE_UNIQUE_PATH = "/do-not-use-in-other-tests-using-cookies";
-
- let TEST_CASES = [
- {
- desc: "Test headers tab",
- pageURI: CUSTOM_GET_URL,
- requestURI: null,
- isPost: false,
- tabIndex: 0,
- variablesView: NetworkDetails._headers,
- expectedScopeLength: 2,
- },
- {
- desc: "Test cookies tab",
- pageURI: CUSTOM_GET_URL,
- requestURI: COOKIE_UNIQUE_PATH,
- isPost: false,
- tabIndex: 1,
- variablesView: NetworkDetails._cookies,
- expectedScopeLength: 1,
- },
- {
- desc: "Test params tab",
- pageURI: POST_RAW_URL,
- requestURI: null,
- isPost: true,
- tabIndex: 2,
- variablesView: NetworkDetails._params,
- expectedScopeLength: 1,
- },
- ];
-
- info("Adding a cookie for the \"Cookie\" tab test");
- debuggee.document.cookie = "a=b; path=" + COOKIE_UNIQUE_PATH;
-
- info("Running tests");
- for (let spec of TEST_CASES) {
- yield runTestCase(spec);
- }
-
- // Remove the cookie. If an error occurs the path of the cookie ensures it
- // doesn't mess with the other tests.
- info("Removing the added cookie.");
- debuggee.document.cookie = "a=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=" +
- COOKIE_UNIQUE_PATH;
-
- yield teardown(monitor);
- finish();
-
- /**
- * A helper that handles the execution of each case.
- */
- function* runTestCase(spec) {
- info("Running case: " + spec.desc);
- debuggee.content.location = spec.pageURI;
-
- yield waitForNetworkEvents(monitor, 1);
- RequestsMenu.clear();
- yield waitForFinalDetailTabUpdate(spec.tabIndex, spec.isPost, spec.requestURI);
-
- is(spec.variablesView._store.length, spec.expectedScopeLength,
- "View contains " + spec.expectedScopeLength + " scope headers");
- }
-
- /**
- * A helper that prepares the variables view for the actual testing. It
- * - selects the correct tab
- * - performs the specified request to specified URI
- * - opens the details view
- * - waits for the final update to happen
- */
- function* waitForFinalDetailTabUpdate(tabIndex, isPost, uri) {
- let onNetworkEvent = waitFor(panel, EVENTS.NETWORK_EVENT);
- let onDetailsPopulated = waitFor(panel, EVENTS.NETWORKDETAILSVIEW_POPULATED);
- let onRequestFinished = isPost ?
- waitForNetworkEvents(monitor, 0, 1) : waitForNetworkEvents(monitor, 1);
-
- info("Performing a request");
- debuggee.performRequests(1, uri);
-
- info("Waiting for NETWORK_EVENT");
- yield onNetworkEvent;
-
- ok(true, "Received NETWORK_EVENT. Selecting the item.");
- let item = RequestsMenu.getItemAtIndex(0);
- RequestsMenu.selectedItem = item;
-
- info("Item selected. Waiting for NETWORKDETAILSVIEW_POPULATED");
- yield onDetailsPopulated;
-
- info("Received populated event. Selecting tab at index " + tabIndex);
- NetworkDetails.widget.selectedIndex = tabIndex;
-
- info("Waiting for request to finish.");
- yield onRequestFinished;
-
- ok(true, "Request finished.");
-
- /**
- * Because this test uses lazy updates there's four scenarios to consider:
- * #1: Everything is updated and test is ready to continue.
- * #2: There's updates that are waiting to be flushed.
- * #3: Updates are flushed but the tab update is still running.
- * #4: There's pending updates and a tab update is still running.
- *
- * For case #1 there's not going to be a TAB_UPDATED event so don't wait for
- * it (bug 1106181).
- *
- * For cases #2 and #3 it's enough to wait for one TAB_UPDATED event as for
- * - case #2 the next flush will perform the final update and single
- * TAB_UPDATED event is emitted.
- * - case #3 the running update is the final update that'll emit one
- * TAB_UPDATED event.
- *
- * For case #4 we must wait for the updates to be flushed before we can
- * start waiting for TAB_UPDATED event or we'll continue the test right
- * after the pending update finishes.
- */
- let hasQueuedUpdates = RequestsMenu._updateQueue.length !== 0;
- let hasRunningTabUpdate = NetworkDetails._viewState.updating[tabIndex];
-
- if (hasQueuedUpdates || hasRunningTabUpdate) {
- info("There's pending updates - waiting for them to finish.");
- info(" hasQueuedUpdates: " + hasQueuedUpdates);
- info(" hasRunningTabUpdate: " + hasRunningTabUpdate);
-
- if (hasQueuedUpdates && hasRunningTabUpdate) {
- info("Waiting for updates to be flushed.");
- // _flushRequests calls .populate which emits the following event
- yield waitFor(panel, EVENTS.NETWORKDETAILSVIEW_POPULATED);
-
- info("Requests flushed.");
- }
-
- info("Waiting for final tab update.");
- yield waitFor(panel, EVENTS.TAB_UPDATED);
- }
-
- info("All updates completed.");
- }
-});