diff options
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.js | 155 |
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."); - } -}); |