mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 17:55:50 +00:00
9afc5381bb
The problem here is that the test expects to receive a request for the |test-network-request.html| but the waitForFinishedRequest() accepts any request that happens to occur at the same time. In this particular bug, a GMP update is triggered during the test and the waitForFinishedRequest() promise resolves with that particular request which obviously isn't the one the test was expecting. These changes add an optional predicate function parameter to waitForFinishedRequest() which will be called for each completed request and the returned promise only resolves when the predicate returns true for a request. Also, browser_console_netlogging.js begins to use the aforementioned functionality by passing a predicate that only accepts the request for |test-network-request.html| effectively fixing the intermittent failure. MozReview-Commit-ID: AWhMRjrqP8i
39 lines
1.4 KiB
JavaScript
39 lines
1.4 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* 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/ */
|
|
|
|
// Tests that network log messages bring up the network panel.
|
|
|
|
"use strict";
|
|
|
|
const TEST_NETWORK_REQUEST_URI =
|
|
"http://example.com/browser/devtools/client/webconsole/test/" +
|
|
"test-network-request.html";
|
|
|
|
add_task(function* () {
|
|
let finishedRequest = waitForFinishedRequest(({ request }) => {
|
|
return request.url === TEST_NETWORK_REQUEST_URI;
|
|
});
|
|
|
|
const hud = yield loadPageAndGetHud(TEST_NETWORK_REQUEST_URI,
|
|
"browserConsole");
|
|
let request = yield finishedRequest;
|
|
|
|
ok(request, "Page load was logged");
|
|
|
|
let client = hud.ui.webConsoleClient;
|
|
let args = [request.actor];
|
|
const postData = yield getPacket(client, "getRequestPostData", args);
|
|
const responseContent = yield getPacket(client, "getResponseContent", args);
|
|
|
|
is(request.request.url, TEST_NETWORK_REQUEST_URI,
|
|
"Logged network entry is page load");
|
|
is(request.request.method, "GET", "Method is correct");
|
|
ok(!postData.postData.text, "No request body was stored");
|
|
ok(postData.postDataDiscarded, "Request body was discarded");
|
|
ok(!responseContent.content.text, "No response body was stored");
|
|
ok(responseContent.contentDiscarded || request.fromCache,
|
|
"Response body was discarded or response came from the cache");
|
|
});
|