--- a/devtools/client/netmonitor/src/har/test/browser_net_har_copy_all_as_har.js
+++ b/devtools/client/netmonitor/src/har/test/browser_net_har_copy_all_as_har.js
@@ -1,41 +1,41 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Basic tests for exporting Network panel content into HAR format.
*/
-add_task(function* () {
+add_task(async function () {
// Disable tcp fast open, because it is setting a response header indicator
// (bug 1352274). TCP Fast Open is not present on all platforms therefore the
// number of response headers will vary depending on the platform.
Services.prefs.setBoolPref("network.tcp.tcp_fastopen_enable", false);
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { connector, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let RequestListContextMenu = windowRequire(
"devtools/client/netmonitor/src/widgets/RequestListContextMenu");
let { getSortedRequests } = windowRequire(
"devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
let contextMenu = new RequestListContextMenu({ connector });
- yield contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
+ await contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
let jsonString = SpecialPowers.getClipboardData("text/unicode");
let har = JSON.parse(jsonString);
// Check out HAR log
isnot(har.log, null, "The HAR log must exist");
is(har.log.creator.name, "Firefox", "The creator field must be set");
is(har.log.browser.name, "Firefox", "The browser field must be set");
--- a/devtools/client/netmonitor/src/har/test/browser_net_har_post_data.js
+++ b/devtools/client/netmonitor/src/har/test/browser_net_har_post_data.js
@@ -1,41 +1,41 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests for exporting POST data into HAR format.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(
HAR_EXAMPLE_URL + "html_har_post-data-test-page.html");
info("Starting test... ");
let { connector, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let RequestListContextMenu = windowRequire(
"devtools/client/netmonitor/src/widgets/RequestListContextMenu");
let { getSortedRequests } = windowRequire(
"devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
// Execute one POST request on the page and wait till its done.
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.executeTest();
});
- yield wait;
+ await wait;
// Copy HAR into the clipboard (asynchronous).
let contextMenu = new RequestListContextMenu({ connector });
- let jsonString = yield contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
+ let jsonString = await contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
let har = JSON.parse(jsonString);
// Check out the HAR log.
isnot(har.log, null, "The HAR log must exist");
is(har.log.pages.length, 1, "There must be one page");
is(har.log.entries.length, 1, "There must be one request");
let entry = har.log.entries[0];
--- a/devtools/client/netmonitor/src/har/test/browser_net_har_post_data_on_get.js
+++ b/devtools/client/netmonitor/src/har/test/browser_net_har_post_data_on_get.js
@@ -1,41 +1,41 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests for exporting POST data into HAR format.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(
HAR_EXAMPLE_URL + "html_har_post-data-test-page.html");
info("Starting test... ");
let { connector, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let RequestListContextMenu = windowRequire(
"devtools/client/netmonitor/src/widgets/RequestListContextMenu");
let { getSortedRequests } = windowRequire(
"devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
// Execute one GET request on the page and wait till its done.
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.executeTest3();
});
- yield wait;
+ await wait;
// Copy HAR into the clipboard (asynchronous).
let contextMenu = new RequestListContextMenu({ connector });
- let jsonString = yield contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
+ let jsonString = await contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
let har = JSON.parse(jsonString);
// Check out the HAR log.
isnot(har.log, null, "The HAR log must exist");
is(har.log.pages.length, 1, "There must be one page");
is(har.log.entries.length, 1, "There must be one request");
let entry = har.log.entries[0];
--- a/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js
+++ b/devtools/client/netmonitor/src/har/test/browser_net_har_throttle_upload.js
@@ -1,22 +1,22 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Test timing of upload when throttling.
"use strict";
-add_task(function* () {
- yield throttleUploadTest(true);
- yield throttleUploadTest(false);
+add_task(async function () {
+ await throttleUploadTest(true);
+ await throttleUploadTest(false);
});
-function* throttleUploadTest(actuallyThrottle) {
- let { tab, monitor } = yield initNetMonitor(
+async function throttleUploadTest(actuallyThrottle) {
+ let { tab, monitor } = await initNetMonitor(
HAR_EXAMPLE_URL + "html_har_post-data-test-page.html");
info("Starting test... (actuallyThrottle = " + actuallyThrottle + ")");
let { connector, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let RequestListContextMenu = windowRequire(
"devtools/client/netmonitor/src/widgets/RequestListContextMenu");
@@ -35,34 +35,34 @@ function* throttleUploadTest(actuallyThr
downloadBPSMean: 200000,
downloadBPSMax: 200000,
uploadBPSMean: uploadSize,
uploadBPSMax: uploadSize,
},
};
info("sending throttle request");
- yield new Promise((resolve) => {
+ await new Promise((resolve) => {
connector.setPreferences(request, (response) => {
resolve(response);
});
});
// Execute one POST request on the page and wait till its done.
let onEventTimings = monitor.panelWin.once(EVENTS.RECEIVED_EVENT_TIMINGS);
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, { size }, function* (args) {
+ await ContentTask.spawn(tab.linkedBrowser, { size }, async function (args) {
content.wrappedJSObject.executeTest2(args.size);
});
- yield wait;
- yield onEventTimings;
+ await wait;
+ await onEventTimings;
// Copy HAR into the clipboard (asynchronous).
let contextMenu = new RequestListContextMenu({ connector });
- let jsonString = yield contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
+ let jsonString = await contextMenu.copyAllAsHar(getSortedRequests(store.getState()));
let har = JSON.parse(jsonString);
// Check out the HAR log.
isnot(har.log, null, "The HAR log must exist");
is(har.log.pages.length, 1, "There must be one page");
is(har.log.entries.length, 1, "There must be one request");
let entry = har.log.entries[0];
@@ -72,10 +72,10 @@ function* throttleUploadTest(actuallyThr
const wasTwoSeconds = entry.timings.send >= 2000;
if (actuallyThrottle) {
ok(wasTwoSeconds, "upload should have taken more than 2 seconds");
} else {
ok(!wasTwoSeconds, "upload should not have taken more than 2 seconds");
}
// Clean up
- yield teardown(monitor);
+ await teardown(monitor);
}
--- a/devtools/client/netmonitor/test/browser_net_accessibility-01.js
+++ b/devtools/client/netmonitor/test/browser_net_accessibility-01.js
@@ -2,18 +2,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if focus modifiers work for the SideMenuWidget.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
info("Starting test... ");
// It seems that this test may be slow on Ubuntu builds running on ec2.
requestLongerTimeout(2);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
@@ -26,20 +26,20 @@ add_task(function* () {
let requestItems = Array.from(document.querySelectorAll(".request-list-item"));
is(requestItems.findIndex((item) => item.matches(".selected")), selectedIndex,
"The selected item in the requests menu was incorrect.");
is(!!document.querySelector(".network-details-panel"), panelVisibility,
"The network details panel should render correctly.");
}
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(2);
});
- yield wait;
+ await wait;
check(-1, false);
store.dispatch(Actions.selectDelta(+Infinity));
check(1, true);
store.dispatch(Actions.selectDelta(-Infinity));
check(0, true);
@@ -49,20 +49,20 @@ add_task(function* () {
check(0, true);
store.dispatch(Actions.selectDelta(+10));
check(1, true);
store.dispatch(Actions.selectDelta(-10));
check(0, true);
wait = waitForNetworkEvents(monitor, 18);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(18);
});
- yield wait;
+ await wait;
store.dispatch(Actions.selectDelta(+Infinity));
check(19, true);
store.dispatch(Actions.selectDelta(-Infinity));
check(0, true);
store.dispatch(Actions.selectDelta(+1));
check(1, true);
--- a/devtools/client/netmonitor/test/browser_net_accessibility-02.js
+++ b/devtools/client/netmonitor/test/browser_net_accessibility-02.js
@@ -2,18 +2,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if keyboard and mouse navigation works in the network requests menu.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
info("Starting test... ");
// It seems that this test may be slow on Ubuntu builds running on ec2.
requestLongerTimeout(2);
let { window, document, windowRequire, store } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
@@ -26,20 +26,20 @@ add_task(function* () {
let requestItems = Array.from(document.querySelectorAll(".request-list-item"));
is(requestItems.findIndex((item) => item.matches(".selected")), selectedIndex,
"The selected item in the requests menu was incorrect.");
is(!!document.querySelector(".network-details-panel"), panelVisibility,
"The network details panel should render correctly.");
}
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(2);
});
- yield wait;
+ await wait;
document.querySelector(".requests-list-contents").focus();
check(-1, false);
EventUtils.sendKey("DOWN", window);
check(0, true);
EventUtils.sendKey("UP", window);
@@ -51,20 +51,20 @@ add_task(function* () {
check(0, true);
EventUtils.sendKey("END", window);
check(1, true);
EventUtils.sendKey("HOME", window);
check(0, true);
wait = waitForNetworkEvents(monitor, 18);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(18);
});
- yield wait;
+ await wait;
EventUtils.sendKey("DOWN", window);
check(1, true);
EventUtils.sendKey("DOWN", window);
check(2, true);
EventUtils.sendKey("UP", window);
check(1, true);
EventUtils.sendKey("UP", window);
@@ -122,10 +122,10 @@ add_task(function* () {
check(19, true);
EventUtils.sendKey("DOWN", window);
check(19, true);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelector(".request-list-item"));
check(0, true);
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_api-calls.js
+++ b/devtools/client/netmonitor/test/browser_net_api-calls.js
@@ -3,18 +3,18 @@
"use strict";
/**
* Tests whether API call URLs (without a filename) are correctly displayed
* (including Unicode)
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(API_CALLS_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(API_CALLS_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
@@ -25,25 +25,25 @@ add_task(function* () {
"http://example.com/api/fileName.xml",
"http://example.com/api/file%E2%98%A2.xml",
"http://example.com/api/ascii/get/",
"http://example.com/api/unicode/%E2%98%A2/",
"http://example.com/api/search/?q=search%E2%98%A2"
];
let wait = waitForNetworkEvents(monitor, 5);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
REQUEST_URIS.forEach(function (uri, index) {
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(index),
"GET",
uri
);
});
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_autoscroll.js
+++ b/devtools/client/netmonitor/test/browser_net_autoscroll.js
@@ -2,84 +2,84 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Bug 863102 - Automatically scroll down upon new network requests.
* edited to account for changes made to fix Bug 1360457
*/
-add_task(function* () {
+add_task(async function () {
requestLongerTimeout(4);
- let { tab, monitor } = yield initNetMonitor(INFINITE_GET_URL, true);
+ let { tab, monitor } = await initNetMonitor(INFINITE_GET_URL, true);
let { document, windowRequire, store } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
// Wait until the first request makes the empty notice disappear
- yield waitForRequestListToAppear();
+ await waitForRequestListToAppear();
let requestsContainer = document.querySelector(".requests-list-contents");
ok(requestsContainer, "Container element exists as expected.");
// (1) Check that the scroll position is maintained at the bottom
// when the requests overflow the vertical size of the container.
- yield waitForRequestsToOverflowContainer();
- yield waitForScroll();
+ await waitForRequestsToOverflowContainer();
+ await waitForScroll();
ok(true, "Scrolled to bottom on overflow.");
// (2) Now scroll to the top and check that additional requests
// do not change the scroll position.
requestsContainer.scrollTop = 0;
- yield waitSomeTime();
+ await waitSomeTime();
ok(!scrolledToBottom(requestsContainer), "Not scrolled to bottom.");
// save for comparison later
let scrollTop = requestsContainer.scrollTop;
- yield waitForNetworkEvents(monitor, 8);
- yield waitSomeTime();
+ await waitForNetworkEvents(monitor, 8);
+ await waitSomeTime();
is(requestsContainer.scrollTop, scrollTop, "Did not scroll.");
// (3) Now set the scroll position back at the bottom and check that
// additional requests *do* cause the container to scroll down.
requestsContainer.scrollTop = requestsContainer.scrollHeight;
ok(scrolledToBottom(requestsContainer), "Set scroll position to bottom.");
- yield waitForNetworkEvents(monitor, 8);
- yield waitForScroll();
+ await waitForNetworkEvents(monitor, 8);
+ await waitForScroll();
ok(true, "Still scrolled to bottom.");
// (4) Now select the first item in the list
// and check that additional requests do not change the scroll position
// from just below the headers.
store.dispatch(Actions.selectRequestByIndex(0));
- yield waitForNetworkEvents(monitor, 8);
- yield waitSomeTime();
+ await waitForNetworkEvents(monitor, 8);
+ await waitSomeTime();
let requestsContainerHeaders = requestsContainer.firstChild;
let headersHeight = requestsContainerHeaders.offsetHeight;
is(requestsContainer.scrollTop, headersHeight, "Did not scroll.");
// Stop doing requests.
- yield ContentTask.spawn(tab.linkedBrowser, {}, function () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, function () {
content.wrappedJSObject.stopRequests();
});
// Done: clean up.
return teardown(monitor);
function waitForRequestListToAppear() {
info("Waiting until the empty notice disappears and is replaced with the list");
return waitUntil(() => !!document.querySelector(".requests-list-contents"));
}
- function* waitForRequestsToOverflowContainer() {
+ async function waitForRequestsToOverflowContainer() {
info("Waiting for enough requests to overflow the container");
while (true) {
info("Waiting for one network request");
- yield waitForNetworkEvents(monitor, 1);
+ await waitForNetworkEvents(monitor, 1);
if (requestsContainer.scrollHeight > requestsContainer.clientHeight) {
info("The list is long enough, returning");
return;
}
}
}
function scrolledToBottom(element) {
--- a/devtools/client/netmonitor/test/browser_net_brotli.js
+++ b/devtools/client/netmonitor/test/browser_net_brotli.js
@@ -5,41 +5,41 @@
const BROTLI_URL = HTTPS_EXAMPLE_URL + "html_brotli-test-page.html";
const BROTLI_REQUESTS = 1;
/**
* Test brotli encoded response is handled correctly on HTTPS.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(BROTLI_URL);
+ let { tab, monitor } = await initNetMonitor(BROTLI_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, BROTLI_REQUESTS);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItem = document.querySelector(".request-list-item");
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET", HTTPS_CONTENT_TYPE_SJS + "?fmt=br", {
status: 200,
statusText: "Connected",
@@ -51,22 +51,22 @@ add_task(function* () {
});
wait = waitForDOM(document, ".CodeMirror-code");
let onResponseContent = monitor.panelWin.once(EVENTS.RECEIVED_RESPONSE_CONTENT);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
- yield onResponseContent;
- yield testResponse("br");
- yield teardown(monitor);
+ await wait;
+ await onResponseContent;
+ await testResponse("br");
+ await teardown(monitor);
- function* testResponse(type) {
+ function testResponse(type) {
switch (type) {
case "br": {
is(document.querySelector(".CodeMirror-line").textContent, "X".repeat(64),
"The text shown in the source editor is incorrect for the brotli request.");
break;
}
}
}
--- a/devtools/client/netmonitor/test/browser_net_cached-status.js
+++ b/devtools/client/netmonitor/test/browser_net_cached-status.js
@@ -2,21 +2,21 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if cached requests have the correct status code
*/
-add_task(function* () {
+add_task(async function () {
// Disable rcwn to make cache behavior deterministic.
- yield pushPref("network.http.rcwn.enabled", false);
+ await pushPref("network.http.rcwn.enabled", false);
- let { tab, monitor } = yield initNetMonitor(STATUS_CODES_URL, true);
+ let { tab, monitor } = await initNetMonitor(STATUS_CODES_URL, true);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
@@ -84,44 +84,44 @@ add_task(function* () {
statusText: "Not Found",
type: "html",
fullMimeType: "text/html; charset=utf-8"
}
}
];
info("Performing requests #1...");
- yield performRequestsAndWait();
+ await performRequestsAndWait();
info("Performing requests #2...");
- yield performRequestsAndWait();
+ await performRequestsAndWait();
let index = 0;
for (let request of REQUEST_DATA) {
let requestItem = document.querySelectorAll(".request-list-item")[index];
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
info("Verifying request #" + index);
- yield verifyRequestItemTarget(
+ await verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(index),
request.method,
request.uri,
request.details
);
index++;
}
- yield teardown(monitor);
+ await teardown(monitor);
- function* performRequestsAndWait() {
+ async function performRequestsAndWait() {
let wait = waitForNetworkEvents(monitor, 3);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performCachedRequests();
});
- yield wait;
+ await wait;
}
});
--- a/devtools/client/netmonitor/test/browser_net_cause.js
+++ b/devtools/client/netmonitor/test/browser_net_cause.js
@@ -72,43 +72,43 @@ const EXPECTED_REQUESTS = [
method: "POST",
url: EXAMPLE_URL + "beacon_request",
causeType: "beacon",
causeUri: CAUSE_URL,
stack: [{ fn: "performBeaconRequest", file: CAUSE_FILE_NAME, line: 32 }]
},
];
-add_task(function* () {
+add_task(async function () {
// Async stacks aren't on by default in all builds
- yield SpecialPowers.pushPrefEnv({ set: [["javascript.options.asyncstack", true]] });
+ await SpecialPowers.pushPrefEnv({ set: [["javascript.options.asyncstack", true]] });
// the initNetMonitor function clears the network request list after the
// page is loaded. That's why we first load a bogus page from SIMPLE_URL,
// and only then load the real thing from CAUSE_URL - we want to catch
// all the requests the page is making, not only the XHRs.
// We can't use about:blank here, because initNetMonitor checks that the
// page has actually made at least one request.
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
let { document, store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, EXPECTED_REQUESTS.length);
tab.linkedBrowser.loadURI(CAUSE_URL);
- yield wait;
+ await wait;
let requests = getSortedRequests(store.getState());
- yield Promise.all(requests.map(requestItem =>
+ await Promise.all(requests.map(requestItem =>
connector.requestData(requestItem.id, "stackTrace")));
is(store.getState().requests.requests.size, EXPECTED_REQUESTS.length,
"All the page events should be recorded.");
EXPECTED_REQUESTS.forEach(async (spec, i) => {
let { method, url, causeType, causeUri, stack } = spec;
@@ -154,10 +154,10 @@ add_task(function* () {
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-cause-button"));
let expectedOrder = EXPECTED_REQUESTS.map(r => r.causeType).sort();
expectedOrder.forEach((expectedCause, i) => {
const cause = getSortedRequests(store.getState()).get(i).cause.type;
is(cause, expectedCause, `The request #${i} has the expected cause after sorting`);
});
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_cause_redirect.js
+++ b/devtools/client/netmonitor/test/browser_net_cause_redirect.js
@@ -3,46 +3,46 @@
"use strict";
/**
* Tests if request JS stack is property reported if the request is internally
* redirected without hitting the network (HSTS is one of such cases)
*/
-add_task(function* () {
+add_task(async function () {
const EXPECTED_REQUESTS = [
// Request to HTTP URL, redirects to HTTPS, has callstack
{ status: 302, hasStack: true },
// Serves HTTPS, sets the Strict-Transport-Security header, no stack
{ status: 200, hasStack: false },
// Second request to HTTP redirects to HTTPS internally
{ status: 200, hasStack: true },
];
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, EXPECTED_REQUESTS.length);
- yield performRequests(2, HSTS_SJS);
- yield wait;
+ await performRequests(2, HSTS_SJS);
+ await wait;
// Fetch stack-trace data from the backend and wait till
// all packets are received.
let requests = getSortedRequests(store.getState())
.filter((req) => !req.stacktrace)
.map((req) => connector.requestData(req.id, "stackTrace"));
- yield Promise.all(requests);
+ await Promise.all(requests);
EXPECTED_REQUESTS.forEach(({status, hasStack}, i) => {
let item = getSortedRequests(store.getState()).get(i);
is(item.status, status, `Request #${i} has the expected status`);
let { stacktrace } = item;
let stackLen = stacktrace ? stacktrace.length : 0;
@@ -52,19 +52,19 @@ add_task(function* () {
ok(stackLen > 0, `Request #${i} has a stacktrace with ${stackLen} items`);
} else {
is(stackLen, 0, `Request #${i} has an empty stacktrace`);
}
});
// Send a request to reset the HSTS policy to state before the test
wait = waitForNetworkEvents(monitor, 1);
- yield performRequests(1, HSTS_SJS + "?reset");
- yield wait;
+ await performRequests(1, HSTS_SJS + "?reset");
+ await wait;
- yield teardown(monitor);
+ await teardown(monitor);
function performRequests(count, url) {
- return ContentTask.spawn(tab.linkedBrowser, { count, url }, function* (args) {
+ return ContentTask.spawn(tab.linkedBrowser, { count, url }, async function (args) {
content.wrappedJSObject.performRequests(args.count, args.url);
});
}
});
--- a/devtools/client/netmonitor/test/browser_net_cause_source_map.js
+++ b/devtools/client/netmonitor/test/browser_net_cause_source_map.js
@@ -7,52 +7,52 @@
* Tests if request cause is reported correctly when using source maps.
*/
const CAUSE_FILE_NAME = "html_maps-test-page.html";
const CAUSE_URL = EXAMPLE_URL + CAUSE_FILE_NAME;
const N_EXPECTED_REQUESTS = 4;
-add_task(function* () {
+add_task(async function () {
// the initNetMonitor function clears the network request list after the
// page is loaded. That's why we first load a bogus page from SIMPLE_URL,
// and only then load the real thing from CAUSE_URL - we want to catch
// all the requests the page is making, not only the XHRs.
// We can't use about:blank here, because initNetMonitor checks that the
// page has actually made at least one request.
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let waitPromise = waitForNetworkEvents(monitor, N_EXPECTED_REQUESTS);
tab.linkedBrowser.loadURI(CAUSE_URL);
- yield waitPromise;
+ await waitPromise;
info("Clicking item and waiting for details panel to open");
waitPromise = waitForDOM(document, ".network-details-panel");
let xhrRequestItem = document.querySelectorAll(".request-list-item")[3];
EventUtils.sendMouseEvent({ type: "mousedown" }, xhrRequestItem);
- yield waitPromise;
+ await waitPromise;
info("Clicking stack tab and waiting for stack panel to open");
waitPromise = waitForDOM(document, "#stack-trace-panel");
let stackTab = document.querySelector("#stack-trace-tab");
EventUtils.sendMouseEvent({ type: "click" }, stackTab);
- yield waitPromise;
+ await waitPromise;
info("Waiting for source maps to be applied");
- yield waitUntil(() => {
+ await waitUntil(() => {
let frames = document.querySelectorAll(".frame-link");
return frames && frames.length >= 2 &&
frames[0].textContent.includes("xhr_original") &&
frames[1].textContent.includes("xhr_original");
});
let frames = document.querySelectorAll(".frame-link");
is(frames.length, 3, "should have 3 stack frames");
is(frames[0].textContent, `reallydoxhr xhr_original.js:6`);
is(frames[1].textContent, `doxhr xhr_original.js:10`);
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_charts-01.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-01.js
@@ -2,27 +2,27 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Makes sure Pie Charts have the right internal structure.
*/
-add_task(function* () {
- let { monitor, tab } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { monitor, tab } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Chart } = windowRequire("devtools/client/shared/widgets/Chart");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.loadURI(SIMPLE_URL);
- yield wait;
+ await wait;
let pie = Chart.Pie(document, {
width: 100,
height: 100,
data: [{
size: 1,
label: "foo"
}, {
@@ -70,10 +70,10 @@ add_task(function* () {
"There should be 3 pie chart labels created.");
is(labels[0].textContent, "baz",
"The first label's text is correct.");
is(labels[1].textContent, "bar",
"The first label's text is correct.");
is(labels[2].textContent, "foo",
"The first label's text is correct.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_charts-02.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-02.js
@@ -3,28 +3,28 @@
"use strict";
/**
* Makes sure Pie Charts have the right internal structure when
* initialized with empty data.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor, tab } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor, tab } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Chart } = windowRequire("devtools/client/shared/widgets/Chart");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.loadURI(SIMPLE_URL);
- yield wait;
+ await wait;
let pie = Chart.Pie(document, {
data: null,
width: 100,
height: 100
});
let node = pie.node;
@@ -45,10 +45,10 @@ add_task(function* () {
ok(slices[0].hasAttribute("smallest"),
"The first slice should also be the smallest one.");
ok(slices[0].getAttribute("name"), L10N.getStr("pieChart.loading"),
"The first slice's name is correct.");
is(labels.length, 1, "There should be 1 pie chart label created.");
is(labels[0].textContent, "Loading", "The first label's text is correct.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_charts-03.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-03.js
@@ -2,28 +2,28 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Makes sure Table Charts have the right internal structure.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor, tab } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor, tab } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Chart } = windowRequire("devtools/client/shared/widgets/Chart");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.loadURI(SIMPLE_URL);
- yield wait;
+ await wait;
let table = Chart.Table(document, {
title: "Table title",
data: [{
label1: 1,
label2: 11.1
}, {
label1: 2,
@@ -115,10 +115,10 @@ add_task(function* () {
is(totals.querySelectorAll(".table-chart-summary-label")[1].getAttribute("name"),
"label2",
"The second sum's type is correct.");
is(totals.querySelectorAll(".table-chart-summary-label")[1].textContent,
"World 36.60",
"The second sum's value is correct.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_charts-04.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-04.js
@@ -3,28 +3,28 @@
"use strict";
/**
* Makes sure Pie Charts have the right internal structure when
* initialized with empty data.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor, tab } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor, tab } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Chart } = windowRequire("devtools/client/shared/widgets/Chart");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.loadURI(SIMPLE_URL);
- yield wait;
+ await wait;
let table = Chart.Table(document, {
title: "Table title",
data: null,
totals: {
label1: value => "Hello " + L10N.numberWithDecimals(value, 2),
label2: value => "World " + L10N.numberWithDecimals(value, 2)
},
@@ -75,10 +75,10 @@ add_task(function* () {
is(totals.querySelectorAll(".table-chart-summary-label")[1].getAttribute("name"),
"label2",
"The second sum's type is correct.");
is(totals.querySelectorAll(".table-chart-summary-label")[1].textContent,
"World 0",
"The second sum's value is correct.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_charts-05.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-05.js
@@ -2,28 +2,28 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Makes sure Pie+Table Charts have the right internal structure.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor, tab } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor, tab } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Chart } = windowRequire("devtools/client/shared/widgets/Chart");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.loadURI(SIMPLE_URL);
- yield wait;
+ await wait;
let chart = Chart.PieTable(document, {
title: "Table title",
data: [{
size: 1,
label: 11.1
}, {
size: 2,
@@ -61,10 +61,10 @@ add_task(function* () {
"A pie chart was created successfully.");
ok(node.querySelector(".table-chart-container"),
"A table chart was created successfully.");
is(rows.length, 4, "There should be 3 pie chart slices and 1 header created.");
is(rows.length, 4, "There should be 3 table chart rows and 1 header created.");
is(sums.length, 2, "There should be 2 total summaries and 1 header created.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_charts-06.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-06.js
@@ -2,28 +2,28 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Makes sure Pie Charts correctly handle empty source data.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor, tab } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor, tab } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Chart } = windowRequire("devtools/client/shared/widgets/Chart");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.loadURI(SIMPLE_URL);
- yield wait;
+ await wait;
let pie = Chart.Pie(document, {
data: [],
width: 100,
height: 100
});
let node = pie.node;
@@ -43,10 +43,10 @@ add_task(function* () {
ok(slices[0].getAttribute("name"), L10N.getStr("pieChart.unavailable"),
"The slice's name is correct.");
is(labels.length, 1,
"There should be 1 pie chart label created.");
is(labels[0].textContent, "Empty",
"The label's text is correct.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_charts-07.js
+++ b/devtools/client/netmonitor/test/browser_net_charts-07.js
@@ -2,28 +2,28 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Makes sure Table Charts correctly handle empty source data.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor, tab } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor, tab } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Chart } = windowRequire("devtools/client/shared/widgets/Chart");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.loadURI(SIMPLE_URL);
- yield wait;
+ await wait;
let table = Chart.Table(document, {
data: [],
totals: {
label1: value => "Hello " + L10N.numberWithDecimals(value, 2),
label2: value => "World " + L10N.numberWithDecimals(value, 2)
},
header: {
@@ -63,10 +63,10 @@ add_task(function* () {
is(totals.querySelectorAll(".table-chart-summary-label")[1].getAttribute("name"),
"label2",
"The second sum's type is correct.");
is(totals.querySelectorAll(".table-chart-summary-label")[1].textContent,
"World 0",
"The second sum's value is correct.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_clear.js
+++ b/devtools/client/netmonitor/test/browser_net_clear.js
@@ -2,45 +2,45 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the clear button empties the request menu.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let detailsPanelToggleButton = document.querySelector(".network-details-panel-toggle");
let clearButton = document.querySelector(".requests-list-clear-button");
store.dispatch(Actions.batchEnable(false));
// Make sure we start in a sane state
assertNoRequestState();
// Load one request and assert it shows up in the list
let onMonitorUpdated = waitForAllRequestsFinished(monitor);
tab.linkedBrowser.reload();
- yield onMonitorUpdated;
+ await onMonitorUpdated;
assertSingleRequestState();
// Click clear and make sure the requests are gone
EventUtils.sendMouseEvent({ type: "click" }, clearButton);
assertNoRequestState();
// Load a second request and make sure they still show up
onMonitorUpdated = waitForAllRequestsFinished(monitor);
tab.linkedBrowser.reload();
- yield onMonitorUpdated;
+ await onMonitorUpdated;
assertSingleRequestState();
// Make sure we can now open the network details panel
EventUtils.sendMouseEvent({ type: "click" }, detailsPanelToggleButton);
ok(document.querySelector(".network-details-panel") &&
!detailsPanelToggleButton.classList.contains("pane-collapsed"),
--- a/devtools/client/netmonitor/test/browser_net_column_headers_tooltips.js
+++ b/devtools/client/netmonitor/test/browser_net_column_headers_tooltips.js
@@ -2,24 +2,24 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Bug 1377094 - Test that all column headers have tooltips.
*/
-add_task(function* () {
- let { monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document } = monitor.panelWin;
let headers = document.querySelectorAll(".requests-list-header-button");
for (let header of headers) {
const buttonText = header.querySelector(".button-text").textContent;
const tooltip = header.getAttribute("title");
is(buttonText, tooltip,
"The " + header.id + " header has the button text in its 'title' attribute.");
}
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_complex-params.js
+++ b/devtools/client/netmonitor/test/browser_net_complex-params.js
@@ -3,77 +3,77 @@
"use strict";
/**
* Tests whether complex request params and payload sent via POST are
* displayed correctly.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(PARAMS_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(PARAMS_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { L10N } = windowRequire("devtools/client/netmonitor/src/utils/l10n");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 7);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
wait = waitForDOM(document, "#params-panel .tree-section", 2);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#params-tab"));
- yield wait;
+ await wait;
testParamsTab1("a", "", '{ "foo": "bar" }', "");
wait = waitForDOM(document, "#params-panel .tree-section", 2);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[1]);
- yield wait;
+ await wait;
testParamsTab1("a", "b", '{ "foo": "bar" }', "");
wait = waitForDOM(document, "#params-panel .tree-section", 2);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[2]);
- yield wait;
+ await wait;
testParamsTab1("a", "b", "?foo", "bar");
wait = waitForDOM(document, "#params-panel tr:not(.tree-section).treeRow", 2);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[3]);
- yield wait;
+ await wait;
testParamsTab2("a", "", '{ "foo": "bar" }', "js");
wait = waitForDOM(document, "#params-panel tr:not(.tree-section).treeRow", 2);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[4]);
- yield wait;
+ await wait;
testParamsTab2("a", "b", '{ "foo": "bar" }', "js");
// Wait for all tree sections and editor updated by react
let waitSections = waitForDOM(document, "#params-panel .tree-section", 2);
let waitSourceEditor = waitForDOM(document, "#params-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[5]);
- yield Promise.all([waitSections, waitSourceEditor]);
+ await Promise.all([waitSections, waitSourceEditor]);
testParamsTab2("a", "b", "?foo=bar", "text");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[6]);
testParamsTab3();
- yield teardown(monitor);
+ await teardown(monitor);
function testParamsTab1(queryStringParamName, queryStringParamValue,
formDataParamName, formDataParamValue) {
let tabpanel = document.querySelector("#params-panel");
is(tabpanel.querySelectorAll(".tree-section").length, 2,
"The number of param tree sections displayed in this tabpanel is incorrect.");
is(tabpanel.querySelectorAll("tr:not(.tree-section).treeRow").length, 2,
--- a/devtools/client/netmonitor/test/browser_net_content-type.js
+++ b/devtools/client/netmonitor/test/browser_net_content-type.js
@@ -2,41 +2,41 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if different response content types are handled correctly.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { L10N } = windowRequire("devtools/client/netmonitor/src/utils/l10n");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, CONTENT_TYPE_WITHOUT_CACHE_REQUESTS);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
for (let requestItem of document.querySelectorAll(".request-list-item")) {
let requestsListStatus = requestItem.querySelector(".requests-list-status");
requestItem.scrollIntoView();
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=xml",
@@ -137,40 +137,40 @@ add_task(function* () {
type: "plain",
fullMimeType: "text/plain",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 324),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeKB", 10.73),
time: true
}
);
- yield selectIndexAndWaitForSourceEditor(monitor, 0);
- yield testResponseTab("xml");
+ await selectIndexAndWaitForSourceEditor(monitor, 0);
+ await testResponseTab("xml");
- yield selectIndexAndWaitForSourceEditor(monitor, 1);
- yield testResponseTab("css");
+ await selectIndexAndWaitForSourceEditor(monitor, 1);
+ await testResponseTab("css");
- yield selectIndexAndWaitForSourceEditor(monitor, 2);
- yield testResponseTab("js");
+ await selectIndexAndWaitForSourceEditor(monitor, 2);
+ await testResponseTab("js");
- yield selectIndexAndWaitForJSONView(3);
- yield testResponseTab("json");
+ await selectIndexAndWaitForJSONView(3);
+ await testResponseTab("json");
- yield selectIndexAndWaitForSourceEditor(monitor, 4);
- yield testResponseTab("html");
+ await selectIndexAndWaitForSourceEditor(monitor, 4);
+ await testResponseTab("html");
- yield selectIndexAndWaitForImageView(5);
- yield testResponseTab("png");
+ await selectIndexAndWaitForImageView(5);
+ await testResponseTab("png");
- yield selectIndexAndWaitForSourceEditor(monitor, 6);
- yield testResponseTab("gzip");
+ await selectIndexAndWaitForSourceEditor(monitor, 6);
+ await testResponseTab("gzip");
- yield teardown(monitor);
+ await teardown(monitor);
- function* testResponseTab(type) {
+ function testResponseTab(type) {
let tabpanel = document.querySelector("#response-panel");
function checkVisibility(box) {
is(tabpanel.querySelector(".response-error-header") === null,
true,
"The response error header doesn't display");
let jsonView = tabpanel.querySelector(".tree-section .treeLabel") || {};
is(jsonView.textContent !== L10N.getStr("jsonScopeName"),
@@ -265,31 +265,31 @@ add_task(function* () {
is(text, new Array(1000).join("Hello gzip!"),
"The text shown in the source editor is incorrect for the gzip request.");
break;
}
}
}
- function* selectIndexAndWaitForJSONView(index) {
+ async function selectIndexAndWaitForJSONView(index) {
let onResponseContent = monitor.panelWin.once(EVENTS.RECEIVED_RESPONSE_CONTENT);
let tabpanel = document.querySelector("#response-panel");
let waitDOM = waitForDOM(tabpanel, ".treeTable");
store.dispatch(Actions.selectRequestByIndex(index));
- yield waitDOM;
- yield onResponseContent;
+ await waitDOM;
+ await onResponseContent;
// Waiting for RECEIVED_RESPONSE_CONTENT isn't enough.
// DOM may not be fully updated yet and checkVisibility(json) may still fail.
- yield waitForTick();
+ await waitForTick();
}
- function* selectIndexAndWaitForImageView(index) {
+ async function selectIndexAndWaitForImageView(index) {
let onResponseContent = monitor.panelWin.once(EVENTS.RECEIVED_RESPONSE_CONTENT);
let tabpanel = document.querySelector("#response-panel");
let waitDOM = waitForDOM(tabpanel, ".response-image");
store.dispatch(Actions.selectRequestByIndex(index));
- let [imageNode] = yield waitDOM;
- yield once(imageNode, "load");
- yield onResponseContent;
+ let [imageNode] = await waitDOM;
+ await once(imageNode, "load");
+ await onResponseContent;
}
});
--- a/devtools/client/netmonitor/test/browser_net_cookies_sorted.js
+++ b/devtools/client/netmonitor/test/browser_net_cookies_sorted.js
@@ -1,44 +1,44 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if Request-Cookies and Response-Cookies are sorted in Cookies tab.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_UNSORTED_COOKIES_SJS);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_UNSORTED_COOKIES_SJS);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
tab.linkedBrowser.reload();
let wait = waitForNetworkEvents(monitor, 1);
- yield wait;
+ await wait;
wait = waitForDOM(document, ".headers-overview");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#cookies-tab"));
info("Check if Request-Cookies and Response-Cookies are sorted");
let expectedLabelValues = ["Response cookies", "bob", "httpOnly", "value",
"foo", "httpOnly", "value", "tom", "httpOnly", "value",
"Request cookies", "bob", "foo", "tom"];
let labelCells = document.querySelectorAll(".treeLabelCell");
labelCells.forEach(function (val, index) {
is(val.innerText, expectedLabelValues[index],
"Actual label value " + val.innerText + " not equal to expected label value "
+ expectedLabelValues[index]);
});
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_copy_as_curl.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_as_curl.js
@@ -2,18 +2,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if Copy as cURL works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CURL_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CURL_URL);
info("Starting test... ");
// Different quote chars are used for Windows and POSIX
const QUOTE = Services.appinfo.OS == "WINNT" ? "\"" : "'";
// Quote a string, escape the quotes inside the string
function quote(str) {
return QUOTE + str.replace(new RegExp(QUOTE, "g"), `\\${QUOTE}`) + QUOTE;
@@ -39,27 +39,27 @@ add_task(function* () {
header("Connection: keep-alive"),
header("Pragma: no-cache"),
header("Cache-Control: no-cache")
];
let { document } = monitor.panelWin;
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, async function (url) {
content.wrappedJSObject.performRequest(url);
});
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[0]);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-as-curl").click();
}, function validate(result) {
if (typeof result !== "string") {
return false;
}
// Different setups may produce the same command, but with the
@@ -80,10 +80,10 @@ add_task(function* () {
// Must match each of the params in the middle (headers and --compressed)
return EXPECTED_RESULT.length === actual.length &&
EXPECTED_RESULT.every(param => actual.includes(param));
});
info("Clipboard contains a cURL command for the currently selected item's url.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_copy_headers.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_headers.js
@@ -2,29 +2,29 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if copying a request's request/response headers works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let {
getSortedRequests,
getSelectedRequest,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
let requestItem = getSortedRequests(store.getState()).get(0);
let { method, httpVersion, status, statusText } = requestItem;
EventUtils.sendMouseEvent({ type: "contextmenu" },
@@ -41,17 +41,17 @@ add_task(function* () {
"Accept-Language: " + navigator.languages.join(",") + ";q=0.5",
"Accept-Encoding: gzip, deflate",
"Connection: keep-alive",
"Upgrade-Insecure-Requests: 1",
"Pragma: no-cache",
"Cache-Control: no-cache"
].join("\n");
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-request-headers").click();
}, function validate(result) {
// Sometimes, a "Cookie" header is left over from other tests. Remove it:
result = String(result).replace(/Cookie: [^\n]+\n/, "");
return result === EXPECTED_REQUEST_HEADERS;
});
info("Clipboard contains the currently selected item's request headers.");
@@ -64,22 +64,22 @@ add_task(function* () {
"connection: close",
"server: httpd.js",
"date: Sun, 3 May 2015 11:11:11 GMT"
].join("\n");
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[0]);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#response-list-context-copy-response-headers").click();
}, function validate(result) {
// Fake the "Last-Modified" and "Date" headers because they will vary:
result = String(result)
.replace(/last-modified: [^\n]+ GMT/, "last-modified: Sun, 3 May 2015 11:11:11 GMT")
.replace(/date: [^\n]+ GMT/, "date: Sun, 3 May 2015 11:11:11 GMT");
return result === EXPECTED_RESPONSE_HEADERS;
});
info("Clipboard contains the currently selected item's response headers.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_image_as_data_uri.js
@@ -2,34 +2,34 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if copying an image as data uri works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
info("Starting test... ");
let { document } = monitor.panelWin;
let wait = waitForNetworkEvents(monitor, CONTENT_TYPE_WITHOUT_CACHE_REQUESTS);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[5]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[5]);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-image-as-data-uri").click();
}, TEST_IMAGE_DATA_URI);
ok(true, "Clipboard contains the currently selected image as data uri.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_copy_params.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_params.js
@@ -2,84 +2,84 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests whether copying a request item's parameters works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(PARAMS_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(PARAMS_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 7);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
- yield testCopyUrlParamsHidden(0, false);
- yield testCopyUrlParams(0, "a");
- yield testCopyPostDataHidden(0, false);
- yield testCopyPostData(0, "{ \"foo\": \"bar\" }");
+ await testCopyUrlParamsHidden(0, false);
+ await testCopyUrlParams(0, "a");
+ await testCopyPostDataHidden(0, false);
+ await testCopyPostData(0, "{ \"foo\": \"bar\" }");
- yield testCopyUrlParamsHidden(1, false);
- yield testCopyUrlParams(1, "a=b");
- yield testCopyPostDataHidden(1, false);
- yield testCopyPostData(1, "{ \"foo\": \"bar\" }");
+ await testCopyUrlParamsHidden(1, false);
+ await testCopyUrlParams(1, "a=b");
+ await testCopyPostDataHidden(1, false);
+ await testCopyPostData(1, "{ \"foo\": \"bar\" }");
- yield testCopyUrlParamsHidden(2, false);
- yield testCopyUrlParams(2, "a=b");
- yield testCopyPostDataHidden(2, false);
- yield testCopyPostData(2, "foo=bar");
+ await testCopyUrlParamsHidden(2, false);
+ await testCopyUrlParams(2, "a=b");
+ await testCopyPostDataHidden(2, false);
+ await testCopyPostData(2, "foo=bar");
- yield testCopyUrlParamsHidden(3, false);
- yield testCopyUrlParams(3, "a");
- yield testCopyPostDataHidden(3, false);
- yield testCopyPostData(3, "{ \"foo\": \"bar\" }");
+ await testCopyUrlParamsHidden(3, false);
+ await testCopyUrlParams(3, "a");
+ await testCopyPostDataHidden(3, false);
+ await testCopyPostData(3, "{ \"foo\": \"bar\" }");
- yield testCopyUrlParamsHidden(4, false);
- yield testCopyUrlParams(4, "a=b");
- yield testCopyPostDataHidden(4, false);
- yield testCopyPostData(4, "{ \"foo\": \"bar\" }");
+ await testCopyUrlParamsHidden(4, false);
+ await testCopyUrlParams(4, "a=b");
+ await testCopyPostDataHidden(4, false);
+ await testCopyPostData(4, "{ \"foo\": \"bar\" }");
- yield testCopyUrlParamsHidden(5, false);
- yield testCopyUrlParams(5, "a=b");
- yield testCopyPostDataHidden(5, false);
- yield testCopyPostData(5, "?foo=bar");
+ await testCopyUrlParamsHidden(5, false);
+ await testCopyUrlParams(5, "a=b");
+ await testCopyPostDataHidden(5, false);
+ await testCopyPostData(5, "?foo=bar");
- yield testCopyUrlParamsHidden(6, true);
- yield testCopyPostDataHidden(6, true);
+ await testCopyUrlParamsHidden(6, true);
+ await testCopyPostDataHidden(6, true);
return teardown(monitor);
function testCopyUrlParamsHidden(index, hidden) {
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[index]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[index]);
let copyUrlParamsNode = monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-url-params");
is(!!copyUrlParamsNode, !hidden,
"The \"Copy URL Parameters\" context menu item should" + (hidden ? " " : " not ") +
"be hidden.");
}
- function* testCopyUrlParams(index, queryString) {
+ async function testCopyUrlParams(index, queryString) {
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[index]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[index]);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-url-params").click();
}, queryString);
ok(true, "The url query string copied from the selected item is correct.");
}
function testCopyPostDataHidden(index, hidden) {
EventUtils.sendMouseEvent({ type: "mousedown" },
@@ -88,28 +88,28 @@ add_task(function* () {
document.querySelectorAll(".request-list-item")[index]);
let copyPostDataNode = monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-post-data");
is(!!copyPostDataNode, !hidden,
"The \"Copy POST Data\" context menu item should" + (hidden ? " " : " not ") +
"be hidden.");
}
- function* testCopyPostData(index, postData) {
+ async function testCopyPostData(index, postData) {
// Wait for formDataSections and requestPostData state are ready in redux store
// since copyPostData API needs to read these state.
- yield waitUntil(() => {
+ await waitUntil(() => {
let { requests } = store.getState().requests;
let actIDs = [...requests.keys()];
let { formDataSections, requestPostData } = requests.get(actIDs[index]);
return formDataSections && requestPostData;
});
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[index]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[index]);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-post-data").click();
}, postData);
ok(true, "The post data string copied from the selected item is correct.");
}
});
--- a/devtools/client/netmonitor/test/browser_net_copy_response.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_response.js
@@ -2,34 +2,34 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if copying a request's response works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
info("Starting test... ");
const EXPECTED_RESULT = '{ "greeting": "Hello JSON!" }';
let { document } = monitor.panelWin;
let wait = waitForNetworkEvents(monitor, CONTENT_TYPE_WITHOUT_CACHE_REQUESTS);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[3]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[3]);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-response").click();
}, EXPECTED_RESULT);
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_svg_image_as_data_uri.js
@@ -4,34 +4,34 @@
"use strict";
/**
* Tests if copying an image as data uri works.
*/
const SVG_URL = EXAMPLE_URL + "dropmarker.svg";
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CURL_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CURL_URL);
info("Starting test... ");
let { document } = monitor.panelWin;
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, SVG_URL, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, SVG_URL, async function (url) {
content.wrappedJSObject.performRequest(url);
});
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[0]);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-image-as-data-uri").click();
}, function check(text) {
return text.startsWith("data:") && !/undefined/.test(text);
});
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_copy_url.js
+++ b/devtools/client/netmonitor/test/browser_net_copy_url.js
@@ -2,37 +2,37 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if copying a request's url works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(1);
});
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[0]);
let requestItem = getSortedRequests(store.getState()).get(0);
- yield waitForClipboardPromise(function setup() {
+ await waitForClipboardPromise(function setup() {
monitor.panelWin.parent.document
.querySelector("#request-list-context-copy-url").click();
}, requestItem.url);
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_cors_requests.js
+++ b/devtools/client/netmonitor/test/browser_net_cors_requests.js
@@ -2,44 +2,44 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test that CORS preflight requests are displayed by network monitor
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CORS_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CORS_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
info("Performing a CORS request");
let requestUrl = "http://test1.example.com" + CORS_SJS_PATH;
- yield ContentTask.spawn(tab.linkedBrowser, requestUrl, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, requestUrl, async function (url) {
content.wrappedJSObject.performRequests(url, "triggering/preflight", "post-data");
});
info("Waiting until the requests appear in netmonitor");
- yield wait;
+ await wait;
info("Checking the preflight and flight methods");
["OPTIONS", "POST"].forEach((method, index) => {
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(index),
method,
requestUrl
);
});
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_curl-utils.js
+++ b/devtools/client/netmonitor/test/browser_net_curl-utils.js
@@ -4,79 +4,79 @@
"use strict";
/**
* Tests Curl Utils functionality.
*/
const { Curl, CurlUtils } = require("devtools/client/shared/curl");
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CURL_UTILS_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CURL_UTILS_URL);
info("Starting test... ");
let { store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
let {
getLongString,
requestData,
} = connector;
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 5);
- yield ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, async function (url) {
content.wrappedJSObject.performRequests(url);
});
- yield wait;
+ await wait;
let requests = {
get: getSortedRequests(store.getState()).get(0),
post: getSortedRequests(store.getState()).get(1),
patch: getSortedRequests(store.getState()).get(2),
multipart: getSortedRequests(store.getState()).get(3),
multipartForm: getSortedRequests(store.getState()).get(4),
};
- let data = yield createCurlData(requests.get, getLongString, requestData);
+ let data = await createCurlData(requests.get, getLongString, requestData);
testFindHeader(data);
- data = yield createCurlData(requests.post, getLongString, requestData);
+ data = await createCurlData(requests.post, getLongString, requestData);
testIsUrlEncodedRequest(data);
testWritePostDataTextParams(data);
testWriteEmptyPostDataTextParams(data);
testDataArgumentOnGeneratedCommand(data);
- data = yield createCurlData(requests.patch, getLongString, requestData);
+ data = await createCurlData(requests.patch, getLongString, requestData);
testWritePostDataTextParams(data);
testDataArgumentOnGeneratedCommand(data);
- data = yield createCurlData(requests.multipart, getLongString, requestData);
+ data = await createCurlData(requests.multipart, getLongString, requestData);
testIsMultipartRequest(data);
testGetMultipartBoundary(data);
testMultiPartHeaders(data);
testRemoveBinaryDataFromMultipartText(data);
- data = yield createCurlData(requests.multipartForm, getLongString, requestData);
+ data = await createCurlData(requests.multipartForm, getLongString, requestData);
testMultiPartHeaders(data);
testGetHeadersFromMultipartText({
postDataText: "Content-Type: text/plain\r\n\r\n",
});
if (Services.appinfo.OS != "WINNT") {
testEscapeStringPosix();
} else {
testEscapeStringWin();
}
- yield teardown(monitor);
+ await teardown(monitor);
});
function testIsUrlEncodedRequest(data) {
let isUrlEncoded = CurlUtils.isUrlEncodedRequest(data);
ok(isUrlEncoded, "Should return true for url encoded requests.");
}
function testIsMultipartRequest(data) {
@@ -234,36 +234,36 @@ function testEscapeStringWin() {
"Backslashes should be escaped.");
let newLines = "line1\r\nline2\r\nline3";
is(CurlUtils.escapeStringWin(newLines),
'"line1"^\u000d\u000A"line2"^\u000d\u000A"line3"',
"Newlines should be escaped.");
}
-function* createCurlData(selected, getLongString, requestData) {
+async function createCurlData(selected, getLongString, requestData) {
let { id, url, method, httpVersion } = selected;
// Create a sanitized object for the Curl command generator.
let data = {
url,
method,
headers: [],
httpVersion,
postDataText: null
};
- let requestHeaders = yield requestData(id, "requestHeaders");
+ let requestHeaders = await requestData(id, "requestHeaders");
// Fetch header values.
for (let { name, value } of requestHeaders.headers) {
- let text = yield getLongString(value);
+ let text = await getLongString(value);
data.headers.push({ name: name, value: text });
}
- let { requestPostData } = yield requestData(id, "requestPostData");
+ let { requestPostData } = await requestData(id, "requestPostData");
// Fetch the request payload.
if (requestPostData) {
let postData = requestPostData.postData.text;
- data.postDataText = yield getLongString(postData);
+ data.postDataText = await getLongString(postData);
}
return data;
}
--- a/devtools/client/netmonitor/test/browser_net_cyrillic-01.js
+++ b/devtools/client/netmonitor/test/browser_net_cyrillic-01.js
@@ -2,60 +2,60 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if cyrillic text is rendered correctly in the source editor.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CYRILLIC_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CYRILLIC_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItem = document.querySelectorAll(".request-list-item")[0];
let requestsListStatus = requestItem.querySelector(".requests-list-status");
requestItem.scrollIntoView();
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=txt",
{
status: 200,
statusText: "DA DA DA"
}
);
wait = waitForDOM(document, "#headers-panel");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
let text = document.querySelector(".CodeMirror-line").textContent;
ok(text.includes("\u0411\u0440\u0430\u0442\u0430\u043d"),
"The text shown in the source editor is correct.");
return teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_cyrillic-02.js
+++ b/devtools/client/netmonitor/test/browser_net_cyrillic-02.js
@@ -3,55 +3,55 @@
"use strict";
/**
* Tests if cyrillic text is rendered correctly in the source editor
* when loaded directly from an HTML page.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CYRILLIC_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CYRILLIC_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
let requestItem = document.querySelectorAll(".request-list-item")[0];
let requestsListStatus = requestItem.querySelector(".requests-list-status");
requestItem.scrollIntoView();
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CYRILLIC_URL,
{
status: 200,
statusText: "OK"
});
wait = waitForDOM(document, "#headers-panel");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
// CodeMirror will only load lines currently in view to the DOM. getValue()
// retrieves all lines pending render after a user begins scrolling.
let text = document.querySelector(".CodeMirror").CodeMirror.getValue();
ok(text.includes("\u0411\u0440\u0430\u0442\u0430\u043d"),
"The text shown in the source editor is correct.");
--- a/devtools/client/netmonitor/test/browser_net_filter-01.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-01.js
@@ -123,18 +123,18 @@ const EXPECTED_REQUESTS = [
data: {
fuzzyUrl: true,
status: 101,
statusText: "Switching Protocols",
}
}
];
-add_task(function* () {
- let { monitor } = yield initNetMonitor(FILTERING_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(FILTERING_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSelectedRequest,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
@@ -143,186 +143,186 @@ add_task(function* () {
function setFreetextFilter(value) {
store.dispatch(Actions.setRequestFilterText(value));
}
info("Starting test... ");
let wait = waitForNetworkEvents(monitor, 9);
loadCommonFrameScript();
- yield performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
- yield wait;
+ await performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
isnot(getSelectedRequest(store.getState()), null,
"There should be a selected item in the requests menu.");
is(getSelectedIndex(store.getState()), 0,
"The first item should be selected in the requests menu.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should render correctly.");
// First test with single filters...
testFilterButtons(monitor, "all");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "html");
- yield testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
// Reset filters
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-css-button"));
testFilterButtons(monitor, "css");
- yield testContents([0, 1, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 1, 0, 0, 0, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-js-button"));
testFilterButtons(monitor, "js");
- yield testContents([0, 0, 1, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 1, 0, 0, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-xhr-button"));
testFilterButtons(monitor, "xhr");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 0]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-fonts-button"));
testFilterButtons(monitor, "fonts");
- yield testContents([0, 0, 0, 1, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 1, 0, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-images-button"));
testFilterButtons(monitor, "images");
- yield testContents([0, 0, 0, 0, 1, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 1, 0, 0, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-media-button"));
testFilterButtons(monitor, "media");
- yield testContents([0, 0, 0, 0, 0, 1, 1, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 1, 1, 0, 0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-ws-button"));
testFilterButtons(monitor, "ws");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 1]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 1]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
testFilterButtons(monitor, "all");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
// Text in filter box that matches nothing should hide all.
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("foobar");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Text in filter box that matches should filter out everything else.
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("sample");
- yield testContents([1, 1, 1, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 1, 1, 0, 0, 0, 0, 0, 0]);
// Text in filter box that matches should filter out everything else.
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("SAMPLE");
- yield testContents([1, 1, 1, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 1, 1, 0, 0, 0, 0, 0, 0]);
// Test negative filtering (only show unmatched items)
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
setFreetextFilter("-sample");
- yield testContents([0, 0, 0, 1, 1, 1, 1, 1, 1]);
+ await testContents([0, 0, 0, 1, 1, 1, 1, 1, 1]);
// ...then combine multiple filters together.
// Enable filtering for html and css; should show request of both type.
setFreetextFilter("");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-css-button"));
testFilterButtonsCustom(monitor, [0, 1, 1, 0, 0, 0, 0, 0, 0, 0]);
- yield testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
// Html and css filter enabled and text filter should show just the html and css match.
// Should not show both the items matching the button plus the items matching the text.
setFreetextFilter("sample");
- yield testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("");
testFilterButtonsCustom(monitor, [0, 1, 1, 0, 0, 0, 0, 0, 0, 0]);
- yield testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 1, 0, 0, 0, 0, 0, 0, 0]);
// Disable some filters. Only one left active.
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-css-button"));
testFilterButtons(monitor, "html");
- yield testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
// Disable last active filter. Should toggle to all.
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "all");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
// Enable few filters and click on all. Only "all" should be checked.
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-css-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-ws-button"));
testFilterButtonsCustom(monitor, [0, 1, 1, 0, 0, 0, 0, 0, 1, 0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
testFilterButtons(monitor, "all");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
- yield teardown(monitor);
+ await teardown(monitor);
function getSelectedIndex(state) {
if (!state.requests.selectedId) {
return -1;
}
return getSortedRequests(state).findIndex(r => r.id === state.requests.selectedId);
}
- function* testContents(visibility) {
+ async function testContents(visibility) {
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
let items = getSortedRequests(store.getState());
let visibleItems;
// Filter results will be updated asynchronously, so we should wait until
// displayed requests reach final state.
- yield waitUntil(() => {
+ await waitUntil(() => {
visibleItems = getDisplayedRequests(store.getState());
return visibleItems.size === visibility.filter(e => e).length;
});
is(items.size, visibility.length,
"There should be a specific amount of items in the requests menu.");
is(visibleItems.size, visibility.filter(e => e).length,
"There should be a specific amount of visible items in the requests menu.");
--- a/devtools/client/netmonitor/test/browser_net_filter-02.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-02.js
@@ -124,18 +124,18 @@ const EXPECTED_REQUESTS = [
data: {
fuzzyUrl: true,
status: 101,
statusText: "Switching Protocols",
}
}
];
-add_task(function* () {
- let { monitor } = yield initNetMonitor(FILTERING_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(FILTERING_URL);
info("Starting test... ");
// It seems that this test may be slow on Ubuntu builds running on ec2.
requestLongerTimeout(2);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
@@ -143,80 +143,80 @@ add_task(function* () {
getSelectedRequest,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 9);
loadCommonFrameScript();
- yield performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
- yield wait;
+ await performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
isnot(getSelectedRequest(store.getState()), null,
"There should be a selected item in the requests menu.");
is(getSelectedIndex(store.getState()), 0,
"The first item should be selected in the requests menu.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should be visible after toggle button was pressed.");
testFilterButtons(monitor, "all");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1]);
info("Testing html filtering.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "html");
- yield testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 0, 0, 0, 0, 0, 0, 0, 0]);
info("Performing more requests.");
wait = waitForNetworkEvents(monitor, 9);
- yield performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
- yield wait;
+ await performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
+ await wait;
info("Testing html filtering again.");
testFilterButtons(monitor, "html");
- yield testContents([1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
info("Performing more requests.");
wait = waitForNetworkEvents(monitor, 9);
- yield performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
- yield wait;
+ await performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
+ await wait;
info("Testing html filtering again.");
testFilterButtons(monitor, "html");
- yield testContents([1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ await testContents([1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
info("Resetting filters.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-all-button"));
testFilterButtons(monitor, "all");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
- yield teardown(monitor);
+ await teardown(monitor);
function getSelectedIndex(state) {
if (!state.requests.selectedId) {
return -1;
}
return getSortedRequests(state).findIndex(r => r.id === state.requests.selectedId);
}
- function* testContents(visibility) {
+ async function testContents(visibility) {
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
isnot(getSelectedRequest(store.getState()), null,
"There should still be a selected item after filtering.");
is(getSelectedIndex(store.getState()), 0,
"The first item should be still selected after filtering.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should still be visible after filtering.");
--- a/devtools/client/netmonitor/test/browser_net_filter-03.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-03.js
@@ -15,18 +15,18 @@ const BASIC_REQUESTS = [
const REQUESTS_WITH_MEDIA = BASIC_REQUESTS.concat([
{ url: "sjs_content-type-test-server.sjs?fmt=font" },
{ url: "sjs_content-type-test-server.sjs?fmt=image" },
{ url: "sjs_content-type-test-server.sjs?fmt=audio" },
{ url: "sjs_content-type-test-server.sjs?fmt=video" },
]);
-add_task(function* () {
- let { monitor } = yield initNetMonitor(FILTERING_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(FILTERING_URL);
info("Starting test... ");
// It seems that this test may be slow on Ubuntu builds running on ec2.
requestLongerTimeout(2);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
@@ -41,18 +41,18 @@ add_task(function* () {
// body than the other HTML requests performed later during the test.
let requests = Cu.cloneInto(REQUESTS_WITH_MEDIA, {});
let newres = "res=<p>" + new Array(10).join(Math.random(10)) + "</p>";
requests[0].url = requests[0].url.replace("res=undefined", newres);
loadCommonFrameScript();
let wait = waitForNetworkEvents(monitor, 7);
- yield performRequestsInContent(requests);
- yield wait;
+ await performRequestsInContent(requests);
+ await wait;
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
isnot(getSelectedRequest(store.getState()), null,
"There should be a selected item in the requests menu.");
is(getSelectedIndex(store.getState()), 0,
"The first item should be selected in the requests menu.");
@@ -72,34 +72,34 @@ add_task(function* () {
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
testFilterButtons(monitor, "html");
testContents([6, 4, 5, 0, 1, 2, 3], 1, 6);
info("Performing more requests.");
wait = waitForNetworkEvents(monitor, 7);
performRequestsInContent(REQUESTS_WITH_MEDIA);
- yield wait;
+ await wait;
info("Testing html filtering again.");
resetSorting();
testFilterButtons(monitor, "html");
testContents([8, 13, 9, 11, 10, 12, 0, 4, 1, 5, 2, 6, 3, 7], 2, 13);
info("Performing more requests.");
performRequestsInContent(REQUESTS_WITH_MEDIA);
- yield waitForNetworkEvents(monitor, 7);
+ await waitForNetworkEvents(monitor, 7);
info("Testing html filtering again.");
resetSorting();
testFilterButtons(monitor, "html");
testContents([12, 13, 20, 14, 16, 18, 15, 17, 19, 0, 4, 8, 1, 5, 9, 2, 6, 10, 3, 7, 11],
3, 20);
- yield teardown(monitor);
+ await teardown(monitor);
function resetSorting() {
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-waterfall-button"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-contentSize-button"));
}
--- a/devtools/client/netmonitor/test/browser_net_filter-04.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-04.js
@@ -24,44 +24,44 @@ const REQUESTS_WITH_MEDIA_AND_FLASH = RE
{ url: "sjs_content-type-test-server.sjs?fmt=flash" },
]);
const REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS = REQUESTS_WITH_MEDIA_AND_FLASH.concat([
/* "Upgrade" is a reserved header and can not be set on XMLHttpRequest */
{ url: "sjs_content-type-test-server.sjs?fmt=ws" },
]);
-add_task(function* () {
+add_task(async function () {
Services.prefs.setCharPref("devtools.netmonitor.filters",
'["bogus", "js", "alsobogus"]');
- let { monitor } = yield initNetMonitor(FILTERING_URL);
+ let { monitor } = await initNetMonitor(FILTERING_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { Prefs } = windowRequire("devtools/client/netmonitor/src/utils/prefs");
store.dispatch(Actions.batchEnable(false));
is(Prefs.filters.length, 3,
"All the filter types should be loaded.");
is(Prefs.filters[0], "bogus",
"The first filter type is invalid, but loaded anyway.");
let wait = waitForNetworkEvents(monitor, 9);
loadCommonFrameScript();
- yield performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
- yield wait;
+ await performRequestsInContent(REQUESTS_WITH_MEDIA_AND_FLASH_AND_WS);
+ await wait;
testFilterButtons(monitor, "js");
ok(true, "Only the correct filter type was taken into consideration.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
let filters = Services.prefs.getCharPref("devtools.netmonitor.filters");
is(filters, '["html","js"]',
"The filters preferences were saved directly after the click and only" +
" with the valid.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_filter-flags.js
+++ b/devtools/client/netmonitor/test/browser_net_filter-flags.js
@@ -131,18 +131,18 @@ const EXPECTED_REQUESTS = [
statusText: "Not Modified",
displayedStatus: "304",
type: "plain",
fullMimeType: "text/plain; charset=utf-8"
}
},
];
-add_task(function* () {
- let { monitor } = yield initNetMonitor(FILTERING_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(FILTERING_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
@@ -162,236 +162,236 @@ add_task(function* () {
filterBox.value = "";
type(value);
}
info("Starting test... ");
let waitNetwork = waitForNetworkEvents(monitor, REQUESTS.length);
loadCommonFrameScript();
- yield performRequestsInContent(REQUESTS);
- yield waitNetwork;
+ await performRequestsInContent(REQUESTS);
+ await waitNetwork;
// Test running flag once requests finish running
setFreetextFilter("is:running");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test cached flag
setFreetextFilter("is:from-cache");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
setFreetextFilter("is:cached");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
// Test negative cached flag
setFreetextFilter("-is:from-cache");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 0]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 0]);
setFreetextFilter("-is:cached");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 0]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 0]);
// Test status-code flag
setFreetextFilter("status-code:200");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 0]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 0]);
// Test status-code negative flag
setFreetextFilter("-status-code:200");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 1]);
// Test mime-type flag
setFreetextFilter("mime-type:HtmL");
- yield testContents([1, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test mime-type negative flag
setFreetextFilter("-mime-type:HtmL");
- yield testContents([0, 0, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([0, 0, 1, 1, 1, 1, 1, 1, 1, 1]);
// Test method flag
setFreetextFilter("method:get");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
// Test unmatched method flag
setFreetextFilter("method:post");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test scheme flag (all requests are http)
setFreetextFilter("scheme:http");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("scheme:https");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test regex filter
setFreetextFilter("regexp:content.*?Sam");
- yield testContents([1, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([1, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test set-cookie-name flag
setFreetextFilter("set-cookie-name:name2");
- yield testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("set-cookie-name:not-existing");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test set-cookie-value flag
setFreetextFilter("set-cookie-value:value2");
- yield testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("set-cookie-value:not-existing");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test set-cookie-domain flag
setFreetextFilter("set-cookie-domain:.example.com");
- yield testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("set-cookie-domain:.foo.example.com");
- yield testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 1, 0, 0, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("set-cookie-domain:.not-existing.example.com");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test size
setFreetextFilter("size:-1");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("size:0");
- yield testContents([0, 0, 0, 0, 1, 1, 1, 1, 0, 1]);
+ await testContents([0, 0, 0, 0, 1, 1, 1, 1, 0, 1]);
setFreetextFilter("size:34");
- yield testContents([0, 0, 1, 1, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 1, 1, 0, 0, 0, 0, 0, 0]);
// Testing the lower bound
setFreetextFilter("size:9.659k");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
// Testing the actual value
setFreetextFilter("size:10989");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
// Testing the upper bound
setFreetextFilter("size:11.804k");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
// Test transferred
setFreetextFilter("transferred:200");
- yield testContents([0, 0, 0, 0, 1, 1, 1, 1, 0, 0]);
+ await testContents([0, 0, 0, 0, 1, 1, 1, 1, 0, 0]);
setFreetextFilter("transferred:234");
- yield testContents([1, 0, 1, 0, 0, 0, 0, 0, 0, 1]);
+ await testContents([1, 0, 1, 0, 0, 0, 0, 0, 0, 1]);
setFreetextFilter("transferred:248");
- yield testContents([0, 0, 1, 1, 0, 0, 0, 0, 0, 1]);
+ await testContents([0, 0, 1, 1, 0, 0, 0, 0, 0, 1]);
// Test larger-than
setFreetextFilter("larger-than:-1");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("larger-than:0");
- yield testContents([1, 1, 1, 1, 0, 0, 0, 0, 1, 0]);
+ await testContents([1, 1, 1, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("larger-than:33");
- yield testContents([0, 0, 1, 1, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 0, 1, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("larger-than:34");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("larger-than:10.73k");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("larger-than:10.732k");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test transferred-larger-than
setFreetextFilter("transferred-larger-than:-1");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("transferred-larger-than:214");
- yield testContents([1, 1, 1, 1, 0, 0, 0, 0, 1, 1]);
+ await testContents([1, 1, 1, 1, 0, 0, 0, 0, 1, 1]);
setFreetextFilter("transferred-larger-than:247");
- yield testContents([0, 1, 1, 1, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 1, 1, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("transferred-larger-than:248");
- yield testContents([0, 1, 0, 1, 0, 0, 0, 0, 1, 0]);
+ await testContents([0, 1, 0, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("transferred-larger-than:10.73k");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test cause
setFreetextFilter("cause:xhr");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("cause:script");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test has-response-header
setFreetextFilter("has-response-header:Content-Type");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("has-response-header:Last-Modified");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test remote-ip
setFreetextFilter("remote-ip:127.0.0.1");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("remote-ip:192.168.1.2");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test domain
setFreetextFilter("domain:example.com");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("domain:wrongexample.com");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test protocol
setFreetextFilter("protocol:http/1");
- yield testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
+ await testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("protocol:http/2");
- yield testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
+ await testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
// Test mixing flags
setFreetextFilter("-mime-type:HtmL status-code:200");
- yield testContents([0, 0, 1, 1, 1, 1, 1, 1, 1, 0]);
+ await testContents([0, 0, 1, 1, 1, 1, 1, 1, 1, 0]);
- yield teardown(monitor);
+ await teardown(monitor);
- function* testContents(visibility) {
+ async function testContents(visibility) {
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
let items = getSortedRequests(store.getState());
let visibleItems = getDisplayedRequests(store.getState());
// Filter results will be updated asynchronously, so we should wait until
// displayed requests reach final state.
- yield waitUntil(() => {
+ await waitUntil(() => {
visibleItems = getDisplayedRequests(store.getState());
return visibleItems.size === visibility.filter(e => e).length;
});
is(items.size, visibility.length,
"There should be a specific amount of items in the requests menu.");
is(visibleItems.size, visibility.filter(e => e).length,
"There should be a specific amount of visible items in the requests menu.");
for (let i = 0; i < visibility.length; i++) {
let itemId = items.get(i).id;
let shouldBeVisible = !!visibility[i];
let isThere = visibleItems.some(r => r.id == itemId);
// Filter results will be updated asynchronously, so we should wait until
// displayed requests reach final state.
- yield waitUntil(() => {
+ await waitUntil(() => {
visibleItems = getDisplayedRequests(store.getState());
isThere = visibleItems.some(r => r.id == itemId);
return isThere === shouldBeVisible;
});
is(isThere, shouldBeVisible,
`The item at index ${i} has visibility=${shouldBeVisible}`);
--- a/devtools/client/netmonitor/test/browser_net_footer-summary.js
+++ b/devtools/client/netmonitor/test/browser_net_footer-summary.js
@@ -2,56 +2,56 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test if the summary text displayed in the network requests menu footer is correct.
*/
-add_task(function* () {
+add_task(async function () {
const {
getFormattedSize,
getFormattedTime
} = require("devtools/client/netmonitor/src/utils/format-utils");
requestLongerTimeout(2);
- let { tab, monitor } = yield initNetMonitor(FILTERING_URL);
+ let { tab, monitor } = await initNetMonitor(FILTERING_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { getDisplayedRequestsSummary } =
windowRequire("devtools/client/netmonitor/src/selectors/index");
let { L10N } = windowRequire("devtools/client/netmonitor/src/utils/l10n");
let { PluralForm } = windowRequire("devtools/shared/plural-form");
store.dispatch(Actions.batchEnable(false));
testStatus();
for (let i = 0; i < 2; i++) {
info(`Performing requests in batch #${i}`);
let wait = waitForNetworkEvents(monitor, 8);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests('{ "getMedia": true, "getFlash": true }');
});
- yield wait;
+ await wait;
testStatus();
let buttons = ["html", "css", "js", "xhr", "fonts", "images", "media"];
for (let button of buttons) {
let buttonEl = document.querySelector(`.requests-list-filter-${button}-button`);
EventUtils.sendMouseEvent({ type: "click" }, buttonEl);
testStatus();
}
}
- yield teardown(monitor);
+ await teardown(monitor);
function testStatus() {
let state = store.getState();
let totalRequestsCount = state.requests.requests.size;
let requestsSummary = getDisplayedRequestsSummary(state);
info(`Current requests: ${requestsSummary.count} of ${totalRequestsCount}.`);
let valueCount = document.querySelector(".requests-list-network-summary-count")
--- a/devtools/client/netmonitor/test/browser_net_frame.js
+++ b/devtools/client/netmonitor/test/browser_net_frame.js
@@ -141,48 +141,48 @@ const EXPECTED_REQUESTS_SUB = [
causeType: "beacon",
causeUri: SUB_URL,
stack: [{ fn: "performBeaconRequest", file: SUB_FILE_NAME, line: 32 }]
},
];
const REQUEST_COUNT = EXPECTED_REQUESTS_TOP.length + EXPECTED_REQUESTS_SUB.length;
-add_task(function* () {
+add_task(async function () {
// Async stacks aren't on by default in all builds
- yield SpecialPowers.pushPrefEnv({ set: [["javascript.options.asyncstack", true]] });
+ await SpecialPowers.pushPrefEnv({ set: [["javascript.options.asyncstack", true]] });
// the initNetMonitor function clears the network request list after the
// page is loaded. That's why we first load a bogus page from SIMPLE_URL,
// and only then load the real thing from TOP_URL - we want to catch
// all the requests the page is making, not only the XHRs.
// We can't use about:blank here, because initNetMonitor checks that the
// page has actually made at least one request.
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
let { document, store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
tab.linkedBrowser.loadURI(TOP_URL, null, null);
- yield waitForNetworkEvents(monitor, REQUEST_COUNT);
+ await waitForNetworkEvents(monitor, REQUEST_COUNT);
is(store.getState().requests.requests.size, REQUEST_COUNT,
"All the page events should be recorded.");
// Fetch stack-trace data from the backend and wait till
// all packets are received.
let requests = getSortedRequests(store.getState());
- yield Promise.all(requests.map(requestItem =>
+ await Promise.all(requests.map(requestItem =>
connector.requestData(requestItem.id, "stackTrace")));
// While there is a defined order for requests in each document separately, the requests
// from different documents may interleave in various ways that change per test run, so
// there is not a single order when considering all the requests together.
let currentTop = 0;
let currentSub = 0;
for (let i = 0; i < REQUEST_COUNT; i++) {
@@ -228,10 +228,10 @@ add_task(function* () {
`Request #${i} has the correct async cause on JS stack frame #${j}`);
});
}
} else {
is(stackLen, 0, `Request #${i} (${causeType}) has an empty stacktrace`);
}
}
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_header-docs.js
+++ b/devtools/client/netmonitor/test/browser_net_header-docs.js
@@ -2,34 +2,34 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if "Learn More" links are correctly displayed
* next to headers.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(POST_DATA_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(POST_DATA_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
let { getHeadersURL } = require("devtools/client/netmonitor/src/utils/mdn-utils");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "click" },
document.querySelectorAll(".request-list-item")[0]);
testShowLearnMore(getSortedRequests(store.getState()).get(0));
return teardown(monitor);
--- a/devtools/client/netmonitor/test/browser_net_headers-alignment.js
+++ b/devtools/client/netmonitor/test/browser_net_headers-alignment.js
@@ -24,17 +24,17 @@ add_task(async function () {
let headers = document.querySelector(".requests-list-headers");
ok(headers, "Headers element exists as expected.");
await waitForRequestsToOverflowContainer(monitor, requestsContainer);
testColumnsAlignment(headers, requestsContainer);
// Stop doing requests.
- await ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.stopRequests();
});
// Done: clean up.
return teardown(monitor);
function waitForRequestListToAppear() {
info("Waiting until the empty notice disappears and is replaced with the list");
--- a/devtools/client/netmonitor/test/browser_net_headers_sorted.js
+++ b/devtools/client/netmonitor/test/browser_net_headers_sorted.js
@@ -3,38 +3,38 @@
"use strict";
/**
* Tests if Request-Headers and Response-Headers are sorted in Headers tab.
* The test also verifies that headers with the same name and headers
* with an empty value are also displayed.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_SJS);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_SJS);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
wait = waitForDOM(document, ".headers-overview");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
- yield waitUntil(() => {
+ await waitUntil(() => {
let request = getSortedRequests(store.getState()).get(0);
return request.requestHeaders && request.responseHeaders;
});
info("Check if Request-Headers and Response-Headers are sorted");
let expectedResponseHeaders = ["cache-control", "connection", "content-length",
"content-type", "date", "expires", "foo-bar",
"foo-bar", "foo-bar", "pragma", "server", "set-cookie",
@@ -57,10 +57,10 @@ add_task(function* () {
}
is(actualResponseHeaders.toString(), expectedResponseHeaders.toString(),
"Response Headers are sorted");
is(actualRequestHeaders.toString(), expectedRequestHeaders.toString(),
"Request Headers are sorted");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_image-tooltip.js
+++ b/devtools/client/netmonitor/test/browser_net_image-tooltip.js
@@ -4,94 +4,94 @@
"use strict";
const IMAGE_TOOLTIP_URL = EXAMPLE_URL + "html_image-tooltip-test-page.html";
const IMAGE_TOOLTIP_REQUESTS = 1;
/**
* Tests if image responses show a popup in the requests menu when hovered.
*/
-add_task(function* test() {
- let { tab, monitor } = yield initNetMonitor(IMAGE_TOOLTIP_URL);
+add_task(async function test() {
+ let { tab, monitor } = await initNetMonitor(IMAGE_TOOLTIP_URL);
info("Starting test... ");
let { document, store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { triggerActivity } = connector;
let { ACTIVITY_TYPE } = windowRequire("devtools/client/netmonitor/src/constants");
let toolboxDoc = monitor.panelWin.parent.document;
store.dispatch(Actions.batchEnable(false));
let onEvents = waitForNetworkEvents(monitor, IMAGE_TOOLTIP_REQUESTS);
- yield performRequests();
- yield onEvents;
+ await performRequests();
+ await onEvents;
info("Checking the image thumbnail after a few requests were made...");
- yield showTooltipAndVerify(document.querySelectorAll(".request-list-item")[0]);
+ await showTooltipAndVerify(document.querySelectorAll(".request-list-item")[0]);
// Hide tooltip before next test, to avoid the situation that tooltip covers
// the icon for the request of the next test.
info("Checking the image thumbnail gets hidden...");
- yield hideTooltipAndVerify(document.querySelectorAll(".request-list-item")[0]);
+ await hideTooltipAndVerify(document.querySelectorAll(".request-list-item")[0]);
// +1 extra document reload
onEvents = waitForNetworkEvents(monitor, IMAGE_TOOLTIP_REQUESTS + 1);
info("Reloading the debuggee and performing all requests again...");
- yield triggerActivity(ACTIVITY_TYPE.RELOAD.WITH_CACHE_ENABLED);
- yield performRequests();
- yield onEvents;
+ await triggerActivity(ACTIVITY_TYPE.RELOAD.WITH_CACHE_ENABLED);
+ await performRequests();
+ await onEvents;
info("Checking the image thumbnail after a reload.");
- yield showTooltipAndVerify(document.querySelectorAll(".request-list-item")[1]);
+ await showTooltipAndVerify(document.querySelectorAll(".request-list-item")[1]);
info("Checking if the image thumbnail is hidden when mouse leaves the menu widget");
let requestsListContents = document.querySelector(".requests-list-contents");
EventUtils.synthesizeMouse(requestsListContents, 0, 0, { type: "mousemove" },
monitor.panelWin);
- yield waitUntil(() => !toolboxDoc.querySelector(".tooltip-container.tooltip-visible"));
+ await waitUntil(() => !toolboxDoc.querySelector(".tooltip-container.tooltip-visible"));
- yield teardown(monitor);
+ await teardown(monitor);
function performRequests() {
- return ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ return ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
}
/**
* Show a tooltip on the {target} and verify that it was displayed
* with the expected content.
*/
- function* showTooltipAndVerify(target) {
+ async function showTooltipAndVerify(target) {
let anchor = target.querySelector(".requests-list-file");
- yield showTooltipOn(anchor);
+ await showTooltipOn(anchor);
info("Tooltip was successfully opened for the image request.");
is(toolboxDoc.querySelector(".tooltip-panel img").src, TEST_IMAGE_DATA_URI,
"The tooltip's image content is displayed correctly.");
}
/**
* Trigger a tooltip over an element by sending mousemove event.
* @return a promise that resolves when the tooltip is shown
*/
- function* showTooltipOn(element) {
+ async function showTooltipOn(element) {
let win = element.ownerDocument.defaultView;
EventUtils.synthesizeMouseAtCenter(element, { type: "mousemove" }, win);
- yield waitUntil(() => toolboxDoc.querySelector(".tooltip-panel img"));
+ await waitUntil(() => toolboxDoc.querySelector(".tooltip-panel img"));
}
/**
* Hide a tooltip on the {target} and verify that it was closed.
*/
- function* hideTooltipAndVerify(target) {
+ async function hideTooltipAndVerify(target) {
// Hovering over the "method" column hides the tooltip.
let anchor = target.querySelector(".requests-list-method");
let win = anchor.ownerDocument.defaultView;
EventUtils.synthesizeMouseAtCenter(anchor, { type: "mousemove" }, win);
- yield waitUntil(
+ await waitUntil(
() => !toolboxDoc.querySelector(".tooltip-container.tooltip-visible"));
info("Tooltip was successfully closed.");
}
});
--- a/devtools/client/netmonitor/test/browser_net_json-b64.js
+++ b/devtools/client/netmonitor/test/browser_net_json-b64.js
@@ -2,38 +2,38 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if JSON responses encoded in base64 are handled correctly.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(JSON_B64_URL);
+ let { tab, monitor } = await initNetMonitor(JSON_B64_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
let tabpanel = document.querySelector("#response-panel");
is(tabpanel.querySelector(".response-error-header") === null, true,
"The response error header doesn't have the intended visibility.");
let jsonView = tabpanel.querySelector(".tree-section .treeLabel") || {};
is(jsonView.textContent === L10N.getStr("jsonScopeName"), true,
"The response json view has the intended visibility.");
@@ -54,10 +54,10 @@ add_task(function* () {
let values = tabpanel
.querySelectorAll("tr:not(.tree-section) .treeValueCell .objectBox");
is(labels[0].textContent, "greeting",
"The first json property name was incorrect.");
is(values[0].textContent, "This is a base 64 string.",
"The first json property value was incorrect.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_json-long.js
+++ b/devtools/client/netmonitor/test/browser_net_json-long.js
@@ -2,45 +2,45 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if very long JSON responses are handled correctly.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(JSON_LONG_URL);
+ let { tab, monitor } = await initNetMonitor(JSON_LONG_URL);
info("Starting test... ");
// This is receiving over 80 KB of json and will populate over 6000 items
// in a variables view instance. Debug builds are slow.
requestLongerTimeout(4);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItem = document.querySelector(".request-list-item");
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=json-long",
{
@@ -53,21 +53,21 @@ add_task(function* () {
time: true
});
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
testResponseTab();
- yield teardown(monitor);
+ await teardown(monitor);
function testResponseTab() {
let tabpanel = document.querySelector("#response-panel");
is(tabpanel.querySelector(".response-error-header") === null, true,
"The response error header doesn't have the intended visibility.");
let jsonView = tabpanel.querySelector(".tree-section .treeLabel") || {};
is(jsonView.textContent === L10N.getStr("jsonScopeName"), true,
--- a/devtools/client/netmonitor/test/browser_net_json-malformed.js
+++ b/devtools/client/netmonitor/test/browser_net_json-malformed.js
@@ -2,40 +2,40 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if malformed JSON responses are handled correctly.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(JSON_MALFORMED_URL);
+ let { tab, monitor } = await initNetMonitor(JSON_MALFORMED_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItem = document.querySelector(".request-list-item");
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=json-malformed",
{
@@ -45,17 +45,17 @@ add_task(function* () {
fullMimeType: "text/json; charset=utf-8"
});
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
let tabpanel = document.querySelector("#response-panel");
is(tabpanel.querySelector(".response-error-header") === null, false,
"The response error header doesn't have the intended visibility.");
is(tabpanel.querySelector(".response-error-header").textContent,
"SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data" +
" at line 1 column 40 of the JSON data",
"The response error header doesn't have the intended text content.");
@@ -70,10 +70,10 @@ add_task(function* () {
"The response editor has the intended visibility.");
is(tabpanel.querySelector(".response-image-box") === null, true,
"The response image box doesn't have the intended visibility.");
is(document.querySelector(".CodeMirror-line").textContent,
"{ \"greeting\": \"Hello malformed JSON!\" },",
"The text shown in the source editor is incorrect.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_json-null.js
+++ b/devtools/client/netmonitor/test/browser_net_json-null.js
@@ -2,33 +2,33 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if JSON responses containing null values are properly displayed.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(JSON_BASIC_URL + "?name=null");
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(JSON_BASIC_URL + "?name=null");
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let { L10N } = windowRequire("devtools/client/netmonitor/src/utils/l10n");
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
- yield openResponsePanel();
+ await openResponsePanel();
checkResponsePanelDisplaysJSON();
let tabpanel = document.querySelector("#response-panel");
is(tabpanel.querySelectorAll(".tree-section").length, 2,
"There should be 2 tree sections displayed in this tabpanel.");
is(tabpanel.querySelectorAll(".treeRow:not(.tree-section)").length, 1,
"There should be 1 json properties displayed in this tabpanel.");
is(tabpanel.querySelectorAll(".empty-notice").length, 0,
@@ -37,17 +37,17 @@ add_task(function* () {
let labels = tabpanel
.querySelectorAll("tr:not(.tree-section) .treeLabelCell .treeLabel");
let values = tabpanel
.querySelectorAll("tr:not(.tree-section) .treeValueCell .objectBox");
is(labels[0].textContent, "greeting", "The first json property name was incorrect.");
is(values[0].textContent, "null", "The first json property value was incorrect.");
- yield teardown(monitor);
+ await teardown(monitor);
/**
* Helper to assert that the response panel found in the provided document is currently
* showing a preview of a JSON object.
*/
function checkResponsePanelDisplaysJSON() {
let panel = document.querySelector("#response-panel");
is(panel.querySelector(".response-error-header") === null, true,
--- a/devtools/client/netmonitor/test/browser_net_json_custom_mime.js
+++ b/devtools/client/netmonitor/test/browser_net_json_custom_mime.js
@@ -2,40 +2,40 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if JSON responses with unusal/custom MIME types are handled correctly.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(JSON_CUSTOM_MIME_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(JSON_CUSTOM_MIME_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { L10N } = windowRequire("devtools/client/netmonitor/src/utils/l10n");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItem = document.querySelector(".request-list-item");
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=json-custom-mime",
{
@@ -47,21 +47,21 @@ add_task(function* () {
time: true
});
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
testResponseTab();
- yield teardown(monitor);
+ await teardown(monitor);
function testResponseTab() {
let tabpanel = document.querySelector("#response-panel");
is(tabpanel.querySelector(".response-error-header") === null, true,
"The response error header doesn't have the intended visibility.");
let jsonView = tabpanel.querySelector(".tree-section .treeLabel") || {};
is(jsonView.textContent === L10N.getStr("jsonScopeName"), true,
--- a/devtools/client/netmonitor/test/browser_net_json_text_mime.js
+++ b/devtools/client/netmonitor/test/browser_net_json_text_mime.js
@@ -2,41 +2,41 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if JSON responses with unusal/custom MIME types are handled correctly.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(JSON_TEXT_MIME_URL);
+ let { tab, monitor } = await initNetMonitor(JSON_TEXT_MIME_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItem = document.querySelector(".request-list-item");
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=json-text-mime",
{
@@ -48,21 +48,21 @@ add_task(function* () {
time: true
});
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
testResponseTab();
- yield teardown(monitor);
+ await teardown(monitor);
function testResponseTab() {
let tabpanel = document.querySelector("#response-panel");
is(tabpanel.querySelector(".response-error-header") === null, true,
"The response error header doesn't have the intended visibility.");
let jsonView = tabpanel.querySelector(".tree-section .treeLabel") || {};
is(jsonView.textContent === L10N.getStr("jsonScopeName"), true,
--- a/devtools/client/netmonitor/test/browser_net_jsonp.js
+++ b/devtools/client/netmonitor/test/browser_net_jsonp.js
@@ -2,43 +2,43 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if JSONP responses are handled correctly.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(JSONP_URL);
+ let { tab, monitor } = await initNetMonitor(JSONP_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=jsonp&jsonp=$_0123Fun",
@@ -66,30 +66,30 @@ add_task(function* () {
});
info("Testing first request");
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
testResponseTab("$_0123Fun", "Hello JSONP!");
info("Testing second request");
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[1]);
- yield wait;
+ await wait;
testResponseTab("$_4567Sad", "Hello weird JSONP!");
- yield teardown(monitor);
+ await teardown(monitor);
function testResponseTab(func, greeting) {
let tabpanel = document.querySelector("#response-panel");
is(tabpanel.querySelector(".response-error-header") === null, true,
"The response error header doesn't have the intended visibility.");
is(tabpanel.querySelector(".tree-section .treeLabel").textContent,
L10N.getFormatStr("jsonpScopeName", func),
--- a/devtools/client/netmonitor/test/browser_net_large-response.js
+++ b/devtools/client/netmonitor/test/browser_net_large-response.js
@@ -4,44 +4,44 @@
"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(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { 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);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, HTML_LONG_URL, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, HTML_LONG_URL, async function (url) {
content.wrappedJSObject.performRequests(1, url);
});
- yield wait;
+ await wait;
let requestItem = document.querySelector(".request-list-item");
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"GET",
CONTENT_TYPE_SJS + "?fmt=html-long",
{
@@ -49,20 +49,20 @@ add_task(function* () {
statusText: "OK"
});
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
let text = document.querySelector(".CodeMirror-line").textContent;
ok(text.match(/^<p>/), "The text shown in the source editor is incorrect.");
- yield teardown(monitor);
+ 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();
});
--- a/devtools/client/netmonitor/test/browser_net_leak_on_tab_close.js
+++ b/devtools/client/netmonitor/test/browser_net_leak_on_tab_close.js
@@ -2,16 +2,16 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests that netmonitor doesn't leak windows on parent-side pages (bug 1285638)
*/
-add_task(function* () {
+add_task(async function () {
// Tell initNetMonitor to enable cache. Otherwise it will assert that there were more
// than zero network requests during the page load. But when loading about:config,
// there are none.
- let { monitor } = yield initNetMonitor("about:config", true);
+ let { monitor } = await initNetMonitor("about:config", true);
ok(monitor, "The network monitor was opened");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_open_in_debugger.js
+++ b/devtools/client/netmonitor/test/browser_net_open_in_debugger.js
@@ -2,39 +2,39 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test the 'Open in debugger' feature
*/
-add_task(function* () {
- let { tab, monitor, toolbox} = yield initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
+add_task(async function () {
+ let { tab, monitor, toolbox} = await initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let contextMenuDoc = monitor.panelWin.parent.document;
// Avoid async processing
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, CONTENT_TYPE_WITHOUT_CACHE_REQUESTS);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
wait = waitForDOM(contextMenuDoc, "#request-list-context-open-in-debugger");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[2]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[2]);
- yield wait;
+ await wait;
let onDebuggerReady = toolbox.once("jsdebugger-ready");
contextMenuDoc.querySelector("#request-list-context-open-in-debugger").click();
- yield onDebuggerReady;
+ await onDebuggerReady;
ok(true, "Debugger has been open");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_open_in_style_editor.js
+++ b/devtools/client/netmonitor/test/browser_net_open_in_style_editor.js
@@ -2,40 +2,40 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test the 'Open in debugger' feature
*/
-add_task(function* () {
- let { tab, monitor, toolbox} = yield initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
+add_task(async function () {
+ let { tab, monitor, toolbox} = await initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let contextMenuDoc = monitor.panelWin.parent.document;
// Avoid async processing
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, CONTENT_TYPE_WITHOUT_CACHE_REQUESTS);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
wait = waitForDOM(contextMenuDoc, "#request-list-context-open-in-style-editor");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[1]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[1]);
- yield wait;
+ await wait;
let onStyleEditorReady = toolbox.once("styleeditor-ready");
monitor.panelWin.parent.document
.querySelector("#request-list-context-open-in-style-editor").click();
- yield onStyleEditorReady;
+ await onStyleEditorReady;
ok(true, "Style Editor has been open");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
+++ b/devtools/client/netmonitor/test/browser_net_open_request_in_tab.js
@@ -2,42 +2,42 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if Open in new tab works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
info("Starting test...");
let { document, store, windowRequire } = monitor.panelWin;
let contextMenuDoc = monitor.panelWin.parent.document;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(1);
});
- yield wait;
+ await wait;
wait = waitForDOM(contextMenuDoc, "#request-list-context-newtab");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "contextmenu" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
let onTabOpen = once(gBrowser.tabContainer, "TabOpen", false);
monitor.panelWin.parent.document
.querySelector("#request-list-context-newtab").click();
- yield onTabOpen;
+ await onTabOpen;
ok(true, "A new tab has been opened");
- yield teardown(monitor);
+ await teardown(monitor);
gBrowser.removeCurrentTab();
});
--- a/devtools/client/netmonitor/test/browser_net_pane-collapse.js
+++ b/devtools/client/netmonitor/test/browser_net_pane-collapse.js
@@ -2,27 +2,27 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the network monitor panes collapse properly.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, windowRequire } = monitor.panelWin;
let { Prefs } = windowRequire("devtools/client/netmonitor/src/utils/prefs");
let detailsPaneToggleButton = document.querySelector(".network-details-panel-toggle");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
ok(!document.querySelector(".network-details-panel") &&
detailsPaneToggleButton.classList.contains("pane-collapsed"),
"The details panel should initially be hidden.");
EventUtils.sendMouseEvent({ type: "click" }, detailsPaneToggleButton);
is(~~(document.querySelector(".network-details-panel").clientWidth),
@@ -42,10 +42,10 @@ add_task(function* () {
is(~~(document.querySelector(".network-details-panel").clientWidth),
Prefs.networkDetailsWidth,
"The details panel has an incorrect width after uncollapsing.");
ok(document.querySelector(".network-details-panel") &&
!detailsPaneToggleButton.classList.contains("pane-collapsed"),
"The details panel should be visible again after uncollapsing.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_pane-toggle.js
+++ b/devtools/client/netmonitor/test/browser_net_pane-toggle.js
@@ -2,18 +2,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if toggling the details pane works as expected.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { EVENTS } = windowRequire("devtools/client/netmonitor/src/constants");
let {
getSelectedRequest,
getSortedRequests,
@@ -30,17 +30,17 @@ add_task(function* () {
"collapsed when the frontend is opened.");
is(!!document.querySelector(".network-details-panel"), false,
"The details pane should be hidden when the frontend is opened.");
is(getSelectedRequest(store.getState()), null,
"There should be no selected item in the requests menu.");
let networkEvent = monitor.panelWin.once(EVENTS.NETWORK_EVENT);
tab.linkedBrowser.reload();
- yield networkEvent;
+ await networkEvent;
is(toggleButton.hasAttribute("disabled"), false,
"The pane toggle button should be enabled after the first request.");
is(toggleButton.classList.contains("pane-collapsed"), true,
"The pane toggle button should still indicate that the details pane is " +
"collapsed after the first request.");
is(!!document.querySelector(".network-details-panel"), false,
"The details pane should still be hidden after the first request.");
@@ -68,17 +68,17 @@ add_task(function* () {
is(toggleButton.classList.contains("pane-collapsed"), true,
"The pane toggle button should now indicate that the details pane is " +
"collapsed after being pressed again.");
is(!!document.querySelector(".network-details-panel"), false,
"The details pane should now be hidden after the toggle button was pressed again.");
is(getSelectedRequest(store.getState()), null,
"There should now be no selected item in the requests menu.");
- yield teardown(monitor);
+ await teardown(monitor);
function getSelectedIndex(state) {
if (!state.requests.selectedId) {
return -1;
}
return getSortedRequests(state).findIndex(r => r.id === state.requests.selectedId);
}
});
--- a/devtools/client/netmonitor/test/browser_net_params_sorted.js
+++ b/devtools/client/netmonitor/test/browser_net_params_sorted.js
@@ -2,35 +2,35 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests whether keys in Params panel are sorted.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(POST_DATA_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(POST_DATA_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
wait = waitForDOM(document, ".headers-overview");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#params-tab"));
let actualKeys = document.querySelectorAll(".treeLabel");
let expectedKeys = ["Query string", "baz", "foo", "type",
"Form data", "baz", "foo"];
--- a/devtools/client/netmonitor/test/browser_net_pause.js
+++ b/devtools/client/netmonitor/test/browser_net_pause.js
@@ -1,92 +1,92 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the pause/resume button works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(PAUSE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(PAUSE_URL);
info("Starting test... ");
let { document, store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let pauseButton = document.querySelector(".requests-list-pause-button");
store.dispatch(Actions.batchEnable(false));
// Make sure we start in a sane state.
assertRequestCount(store, 0);
// Load one request and assert it shows up in the list.
- yield performRequestAndWait(tab, monitor);
+ await performRequestAndWait(tab, monitor);
assertRequestCount(store, 1);
let noRequest = true;
monitor.panelWin.once(EVENTS.NETWORK_EVENT, () => {
noRequest = false;
});
monitor.panelWin.once(EVENTS.NETWORK_EVENT_UPDATED, () => {
noRequest = false;
});
// Click pause, load second request and make sure they don't show up.
EventUtils.sendMouseEvent({ type: "click" }, pauseButton);
- yield performPausedRequest(connector, tab, monitor);
+ await performPausedRequest(connector, tab, monitor);
ok(noRequest, "There should be no activity when paused.");
assertRequestCount(store, 1);
// Click pause again to resume monitoring. Load a third request
// and make sure they will show up.
EventUtils.sendMouseEvent({ type: "click" }, pauseButton);
- yield performRequestAndWait(tab, monitor);
+ await performRequestAndWait(tab, monitor);
assertRequestCount(store, 2);
// Click pause, reload the page and check that there are
// some requests. Page reload should auto-resume.
EventUtils.sendMouseEvent({ type: "click" }, pauseButton);
tab.linkedBrowser.reload();
- yield waitForNetworkEvents(monitor, 1);
+ await waitForNetworkEvents(monitor, 1);
assertRequestCount(store, 1);
return teardown(monitor);
});
/**
* Asserts the number of requests in the network monitor.
*/
function assertRequestCount(store, count) {
is(store.getState().requests.requests.size, count,
"There should be correct number of requests");
}
/**
* Execute simple GET request and wait till it's done.
*/
-function* performRequestAndWait(tab, monitor) {
+async function performRequestAndWait(tab, monitor) {
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, function* (url) {
- yield content.wrappedJSObject.performRequests(url);
+ await ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, async function (url) {
+ await content.wrappedJSObject.performRequests(url);
});
- yield wait;
+ await wait;
}
/**
* Execute simple GET request
*/
-function* performPausedRequest(connector, tab, monitor) {
+async function performPausedRequest(connector, tab, monitor) {
let wait = waitForWebConsoleNetworkEvent(connector);
- yield ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, function* (url) {
- yield content.wrappedJSObject.performRequests(url);
+ await ContentTask.spawn(tab.linkedBrowser, SIMPLE_SJS, async function (url) {
+ await content.wrappedJSObject.performRequests(url);
});
- yield wait;
+ await wait;
}
/**
* Listen for events fired by the console client since the Firefox
* connector (data provider) is paused.
*/
function waitForWebConsoleNetworkEvent(connector) {
return new Promise(resolve => {
--- a/devtools/client/netmonitor/test/browser_net_persistent_logs.js
+++ b/devtools/client/netmonitor/test/browser_net_persistent_logs.js
@@ -3,50 +3,50 @@
"use strict";
/**
* Tests if the network monitor leaks on initialization and sudden destruction.
* You can also use this initialization format as a template for other tests.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SINGLE_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SINGLE_GET_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
Services.prefs.setBoolPref("devtools.netmonitor.persistlog", false);
- yield reloadAndWait();
+ await reloadAndWait();
// Using waitUntil in the test is necessary to ensure all requests are added correctly.
// Because reloadAndWait call may catch early uncaught requests from initNetMonitor, so
// the actual number of requests after reloadAndWait could be wrong since all requests
// haven't finished.
- yield waitUntil(() => document.querySelectorAll(".request-list-item").length === 2);
+ await waitUntil(() => document.querySelectorAll(".request-list-item").length === 2);
is(document.querySelectorAll(".request-list-item").length, 2,
"The request list should have two items at this point.");
- yield reloadAndWait();
+ await reloadAndWait();
- yield waitUntil(() => document.querySelectorAll(".request-list-item").length === 2);
+ await waitUntil(() => document.querySelectorAll(".request-list-item").length === 2);
// Since the reload clears the log, we still expect two requests in the log
is(document.querySelectorAll(".request-list-item").length, 2,
"The request list should still have two items at this point.");
// Now we toggle the persistence logs on
Services.prefs.setBoolPref("devtools.netmonitor.persistlog", true);
- yield reloadAndWait();
+ await reloadAndWait();
- yield waitUntil(() => document.querySelectorAll(".request-list-item").length === 4);
+ await waitUntil(() => document.querySelectorAll(".request-list-item").length === 4);
// Since we togged the persistence logs, we expect four items after the reload
is(document.querySelectorAll(".request-list-item").length, 4,
"The request list should now have four items at this point.");
Services.prefs.setBoolPref("devtools.netmonitor.persistlog", false);
return teardown(monitor);
/**
--- a/devtools/client/netmonitor/test/browser_net_post-data-01.js
+++ b/devtools/client/netmonitor/test/browser_net_post-data-01.js
@@ -2,46 +2,46 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the POST requests display the correct information in the UI.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
// Set a higher panel height in order to get full CodeMirror content
Services.prefs.setIntPref("devtools.toolbox.footer.height", 600);
- let { tab, monitor } = yield initNetMonitor(POST_DATA_URL);
+ let { tab, monitor } = await initNetMonitor(POST_DATA_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(0),
"POST",
SIMPLE_SJS + "?foo=bar&baz=42&type=urlencoded",
@@ -71,30 +71,30 @@ add_task(function* () {
);
// Wait for all tree sections updated by react
wait = waitForDOM(document, "#params-panel .tree-section", 2);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#params-tab"));
- yield wait;
- yield testParamsTab("urlencoded");
+ await wait;
+ await testParamsTab("urlencoded");
// Wait for all tree sections and editor updated by react
let waitForSections = waitForDOM(document, "#params-panel .tree-section", 2);
let waitForSourceEditor = waitForDOM(document, "#params-panel .CodeMirror-code");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[1]);
- yield Promise.all([waitForSections, waitForSourceEditor]);
- yield testParamsTab("multipart");
+ await Promise.all([waitForSections, waitForSourceEditor]);
+ await testParamsTab("multipart");
return teardown(monitor);
- function* testParamsTab(type) {
+ function testParamsTab(type) {
let tabpanel = document.querySelector("#params-panel");
function checkVisibility(box) {
is(!tabpanel.querySelector(".treeTable"), !box.includes("params"),
"The request params doesn't have the indended visibility.");
is(tabpanel.querySelector(".CodeMirror-code") === null,
!box.includes("editor"),
"The request post data doesn't have the indended visibility.");
--- a/devtools/client/netmonitor/test/browser_net_post-data-02.js
+++ b/devtools/client/netmonitor/test/browser_net_post-data-02.js
@@ -3,40 +3,40 @@
"use strict";
/**
* Tests if the POST requests display the correct information in the UI,
* for raw payloads with attached content-type headers.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(POST_RAW_URL);
+ let { tab, monitor } = await initNetMonitor(POST_RAW_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
// Wait for all tree view updated by react
wait = waitForDOM(document, "#params-panel .tree-section");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#params-tab"));
- yield wait;
+ await wait;
let tabpanel = document.querySelector("#params-panel");
ok(tabpanel.querySelector(".treeTable"),
"The request params doesn't have the indended visibility.");
ok(tabpanel.querySelector(".editor-mount") === null,
"The request post data doesn't have the indended visibility.");
--- a/devtools/client/netmonitor/test/browser_net_post-data-03.js
+++ b/devtools/client/netmonitor/test/browser_net_post-data-03.js
@@ -3,40 +3,40 @@
"use strict";
/**
* Tests if the POST requests display the correct information in the UI,
* for raw payloads with content-type headers attached to the upload stream.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(POST_RAW_WITH_HEADERS_URL);
+ let { tab, monitor } = await initNetMonitor(POST_RAW_WITH_HEADERS_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
// Wait for all tree view updated by react
wait = waitForDOM(document, "#headers-panel .tree-section .treeLabel", 3);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#headers-tab"));
- yield wait;
+ await wait;
let tabpanel = document.querySelector("#headers-panel");
is(tabpanel.querySelectorAll(".tree-section .treeLabel").length, 3,
"There should be 3 header sections displayed in this tabpanel.");
is(tabpanel.querySelectorAll(".tree-section .treeLabel")[2].textContent,
L10N.getStr("requestHeadersFromUpload") + " (" +
L10N.getFormatStr("networkMenu.sizeB", 74) + ")",
@@ -55,17 +55,17 @@ add_task(function* () {
"The second request header name was incorrect.");
is(values[values.length - 1].textContent, "hello world!",
"The second request header value was incorrect.");
// Wait for all tree sections updated by react
wait = waitForDOM(document, "#params-panel .tree-section");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#params-tab"));
- yield wait;
+ await wait;
tabpanel = document.querySelector("#params-panel");
ok(tabpanel.querySelector(".treeTable"),
"The params tree view should be displayed.");
ok(tabpanel.querySelector(".editor-mount") === null,
"The post data shouldn't be displayed.");
--- a/devtools/client/netmonitor/test/browser_net_post-data-04.js
+++ b/devtools/client/netmonitor/test/browser_net_post-data-04.js
@@ -3,40 +3,40 @@
"use strict";
/**
* Tests if the POST requests display the correct information in the UI,
* for JSON payloads.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(POST_JSON_URL);
+ let { tab, monitor } = await initNetMonitor(POST_JSON_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
// Wait for all tree view updated by react
wait = waitForDOM(document, "#params-panel .tree-section");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#params-tab"));
- yield wait;
+ await wait;
let tabpanel = document.querySelector("#params-panel");
ok(tabpanel.querySelector(".treeTable"),
"The request params doesn't have the indended visibility.");
ok(tabpanel.querySelector(".editor-mount") === null,
"The request post data doesn't have the indended visibility.");
--- a/devtools/client/netmonitor/test/browser_net_prefs-and-l10n.js
+++ b/devtools/client/netmonitor/test/browser_net_prefs-and-l10n.js
@@ -2,20 +2,20 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the preferences and localization objects work correctly.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { windowRequire } = monitor.panelWin;
let { Prefs } = windowRequire("devtools/client/netmonitor/src/utils/prefs");
testL10N();
testPrefs();
--- a/devtools/client/netmonitor/test/browser_net_prefs-reload.js
+++ b/devtools/client/netmonitor/test/browser_net_prefs-reload.js
@@ -2,18 +2,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the prefs that should survive across tool reloads work.
*/
-add_task(function* () {
- let { monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(SIMPLE_URL);
let Actions = monitor.panelWin
.windowRequire("devtools/client/netmonitor/src/actions/index");
info("Starting test... ");
// This test reopens the network monitor a bunch of times, for different
// hosts (bottom, side, window). This seems to be slow on debug builds.
requestLongerTimeout(3);
@@ -56,22 +56,22 @@ add_task(function* () {
modifyFrontend: function (value) {
getDoc().querySelector(".monitor-panel .split-box .controlled")
.style.height = `${value}px`;
}
}
/* add more prefs here... */
};
- yield testBottom();
- yield testSide();
- yield testWindow();
+ await testBottom();
+ await testSide();
+ await testWindow();
info("Moving toolbox back to the bottom...");
- yield monitor.toolbox.switchHost("bottom");
+ await monitor.toolbox.switchHost("bottom");
return teardown(monitor);
function storeFirstPrefValues() {
info("Caching initial pref values.");
for (let name in prefsToCheck) {
let currentValue = getPrefs()[name];
prefsToCheck[name].firstValue = currentValue;
@@ -170,94 +170,94 @@ add_task(function* () {
"Pref " + name + " should't yet be equal to first value: " + currentValue);
is(newValue.toSource(), currentValue.toSource(),
"Pref " + name + " should still be equal to second value: " + currentValue);
is(validateValue().toSource(), firstValue.toSource(),
"The UI element affecting " + name + " should validate: " + firstValue);
}
}
- function* restartNetMonitorAndSetupEnv() {
- let newMonitor = yield restartNetMonitor(monitor);
+ async function restartNetMonitorAndSetupEnv() {
+ let newMonitor = await restartNetMonitor(monitor);
monitor = newMonitor.monitor;
let networkEvent = waitForNetworkEvents(monitor, 1);
newMonitor.tab.linkedBrowser.reload();
- yield networkEvent;
+ await networkEvent;
let wait = waitForDOM(getDoc(), ".network-details-panel");
EventUtils.sendMouseEvent({ type: "click" },
getDoc().querySelector(".network-details-panel-toggle"));
- yield wait;
+ await wait;
}
- function* testBottom() {
- yield restartNetMonitorAndSetupEnv();
+ async function testBottom() {
+ await restartNetMonitorAndSetupEnv();
info("Testing prefs reload for a bottom host.");
storeFirstPrefValues();
// Validate and modify while toolbox is on the bottom.
validateFirstPrefValues(true);
modifyFrontend(true);
- yield restartNetMonitorAndSetupEnv();
+ await restartNetMonitorAndSetupEnv();
// Revalidate and reset frontend while toolbox is on the bottom.
validateNewPrefValues(true);
resetFrontend(true);
- yield restartNetMonitorAndSetupEnv();
+ await restartNetMonitorAndSetupEnv();
// Revalidate.
validateFirstPrefValues(true);
}
- function* testSide() {
- yield restartNetMonitorAndSetupEnv();
+ async function testSide() {
+ await restartNetMonitorAndSetupEnv();
info("Moving toolbox to the side...");
- yield monitor.toolbox.switchHost("side");
+ await monitor.toolbox.switchHost("side");
info("Testing prefs reload for a side host.");
storeFirstPrefValues();
// Validate and modify frontend while toolbox is on the side.
validateFirstPrefValues(false);
modifyFrontend(false);
- yield restartNetMonitorAndSetupEnv();
+ await restartNetMonitorAndSetupEnv();
// Revalidate and reset frontend while toolbox is on the side.
validateNewPrefValues(false);
resetFrontend(false);
- yield restartNetMonitorAndSetupEnv();
+ await restartNetMonitorAndSetupEnv();
// Revalidate.
validateFirstPrefValues(false);
}
- function* testWindow() {
- yield restartNetMonitorAndSetupEnv();
+ async function testWindow() {
+ await restartNetMonitorAndSetupEnv();
info("Moving toolbox into a window...");
- yield monitor.toolbox.switchHost("window");
+ await monitor.toolbox.switchHost("window");
info("Testing prefs reload for a window host.");
storeFirstPrefValues();
// Validate and modify frontend while toolbox is in a window.
validateFirstPrefValues(true);
modifyFrontend(true);
- yield restartNetMonitorAndSetupEnv();
+ await restartNetMonitorAndSetupEnv();
// Revalidate and reset frontend while toolbox is in a window.
validateNewPrefValues(true);
resetFrontend(true);
- yield restartNetMonitorAndSetupEnv();
+ await restartNetMonitorAndSetupEnv();
// Revalidate.
validateFirstPrefValues(true);
}
});
--- a/devtools/client/netmonitor/test/browser_net_raw_headers.js
+++ b/devtools/client/netmonitor/test/browser_net_raw_headers.js
@@ -2,42 +2,42 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if showing raw headers works.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(POST_DATA_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(POST_DATA_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
wait = waitForDOM(document, "#headers-panel .tree-section", 2);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
wait = waitForDOM(document, ".raw-headers-container textarea", 2);
EventUtils.sendMouseEvent({ type: "click" }, getRawHeadersButton());
- yield wait;
+ await wait;
testRawHeaderButtonStyle(true);
testShowRawHeaders(getSortedRequests(store.getState()).get(0));
EventUtils.sendMouseEvent({ type: "click" }, getRawHeadersButton());
testRawHeaderButtonStyle(false);
--- a/devtools/client/netmonitor/test/browser_net_reload-button.js
+++ b/devtools/client/netmonitor/test/browser_net_reload-button.js
@@ -2,24 +2,24 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the empty-requests reload button works.
*/
-add_task(function* () {
- let { monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document } = monitor.panelWin;
let wait = waitForNetworkEvents(monitor, 1);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-reload-notice-button"));
- yield wait;
+ await wait;
is(document.querySelectorAll(".request-list-item").length, 1,
"The request list should have one item after reloading");
return teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_reload-markers.js
+++ b/devtools/client/netmonitor/test/browser_net_reload-markers.js
@@ -2,29 +2,29 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the empty-requests reload button works.
*/
-add_task(function* () {
- let { monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document } = monitor.panelWin;
let markersDone = waitForTimelineMarkers(monitor);
let button = document.querySelector(".requests-list-reload-notice-button");
button.click();
- yield waitForNetworkEvents(monitor, 1);
- let markers = yield markersDone;
+ await waitForNetworkEvents(monitor, 1);
+ let markers = await markersDone;
ok(true, "Reloading finished");
is(markers[0].name, "dom-interactive",
"The first received marker is correct.");
is(markers[1].name, "dom-complete",
"The second received marker is correct.");
--- a/devtools/client/netmonitor/test/browser_net_req-resp-bodies.js
+++ b/devtools/client/netmonitor/test/browser_net_req-resp-bodies.js
@@ -2,73 +2,73 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test if request and response body logging stays on after opening the console.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(JSON_LONG_URL);
+ let { tab, monitor } = await initNetMonitor(JSON_LONG_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
// Perform first batch of requests.
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
- yield verifyRequest(0);
+ await verifyRequest(0);
// Switch to the webconsole.
let onWebConsole = monitor.toolbox.once("webconsole-selected");
monitor.toolbox.selectTool("webconsole");
- yield onWebConsole;
+ await onWebConsole;
// Switch back to the netmonitor.
let onNetMonitor = monitor.toolbox.once("netmonitor-selected");
monitor.toolbox.selectTool("netmonitor");
- yield onNetMonitor;
+ await onNetMonitor;
// Reload debugee.
wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
// Perform another batch of requests.
wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
- yield verifyRequest(1);
+ await verifyRequest(1);
return teardown(monitor);
- function* verifyRequest(index) {
+ async function verifyRequest(index) {
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(index),
"GET",
CONTENT_TYPE_SJS + "?fmt=json-long",
{
--- a/devtools/client/netmonitor/test/browser_net_resend_cors.js
+++ b/devtools/client/netmonitor/test/browser_net_resend_cors.js
@@ -3,37 +3,37 @@
"use strict";
/**
* Tests if resending a CORS request avoids the security checks and doesn't send
* a preflight OPTIONS request (bug 1270096 and friends)
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CORS_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CORS_URL);
info("Starting test... ");
let { store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getRequestById,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
let requestUrl = "http://test1.example.com" + CORS_SJS_PATH;
info("Waiting for OPTIONS, then POST");
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, requestUrl, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, requestUrl, async function (url) {
content.wrappedJSObject.performRequests(url, "triggering/preflight", "post-data");
});
- yield wait;
+ await wait;
const METHODS = ["OPTIONS", "POST"];
const ITEMS = METHODS.map((val, i) => getSortedRequests(store.getState()).get(i));
// Check the requests that were sent
ITEMS.forEach((item, i) => {
is(item.method, METHODS[i], `The ${item.method} request has the right method`);
is(item.url, requestUrl, `The ${item.method} request has the right URL`);
@@ -43,55 +43,55 @@ add_task(function* () {
// POST is supposed to have no preflight OPTIONS request this time (CORS is disabled)
let onRequests = waitForNetworkEvents(monitor, 1);
for (let item of ITEMS) {
info(`Selecting the ${item.method} request`);
store.dispatch(Actions.selectRequest(item.id));
// Wait for requestHeaders and responseHeaders are required when fetching data
// from back-end.
- yield waitUntil(() => {
+ await waitUntil(() => {
item = getRequestById(store.getState(), item.id);
return item.requestHeaders && item.responseHeaders;
});
let { size } = getSortedRequests(store.getState());
info("Cloning the selected request into a custom clone");
store.dispatch(Actions.cloneSelectedRequest());
info("Sending the cloned request (without change)");
store.dispatch(Actions.sendCustomRequest(connector));
- yield waitUntil(() => getSortedRequests(store.getState()).size === size + 1);
+ await waitUntil(() => getSortedRequests(store.getState()).size === size + 1);
}
info("Waiting for both resent requests");
- yield onRequests;
+ await onRequests;
// Check the resent requests
for (let i = 0; i < ITEMS.length; i++) {
let item = ITEMS[i];
is(item.method, METHODS[i], `The ${item.method} request has the right method`);
is(item.url, requestUrl, `The ${item.method} request has the right URL`);
is(item.status, 200, `The ${item.method} response has the right status`);
if (item.method === "POST") {
is(item.method, "POST", `The ${item.method} request has the right method`);
// Trigger responseContent update requires to wait until
// responseContentAvailable set true
- yield waitUntil(() => {
+ await waitUntil(() => {
item = getRequestById(store.getState(), item.id);
return item.responseContentAvailable;
});
- yield connector.requestData(item.id, "responseContent");
+ await connector.requestData(item.id, "responseContent");
// Wait for both requestPostData & responseContent payloads arrived.
- yield waitUntil(() => {
+ await waitUntil(() => {
item = getRequestById(store.getState(), item.id);
return item.responseContent && item.requestPostData;
});
is(item.requestPostData.postData.text, "post-data",
"The POST request has the right POST data");
// eslint-disable-next-line mozilla/no-cpows-in-tests
is(item.responseContent.content.text, "Access-Control-Allow-Origin: *",
--- a/devtools/client/netmonitor/test/browser_net_resend_headers.js
+++ b/devtools/client/netmonitor/test/browser_net_resend_headers.js
@@ -2,18 +2,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test if custom request headers are not ignored (bug 1270096 and friends)
*/
-add_task(function* () {
- let { monitor } = yield initNetMonitor(SIMPLE_SJS);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(SIMPLE_SJS);
info("Starting test... ");
let { store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { requestData, sendHTTPRequest } = connector;
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
@@ -32,28 +32,28 @@ add_task(function* () {
let wait = waitForNetworkEvents(monitor, 1);
sendHTTPRequest({
url: requestUrl,
method: "POST",
headers: requestHeaders,
body: "Hello"
});
- yield wait;
+ await wait;
let item = getSortedRequests(store.getState()).get(0);
ok(item.requestHeadersAvailable, "headers are available for lazily fetching");
if (item.requestHeadersAvailable && !item.requestHeaders) {
requestData(item.id, "requestHeaders");
}
// Wait until requestHeaders packet gets updated.
- yield waitUntil(() => {
+ await waitUntil(() => {
item = getSortedRequests(store.getState()).get(0);
return item.requestHeaders;
});
is(item.method, "POST", "The request has the right method");
is(item.url, requestUrl, "The request has the right URL");
for (let { name, value } of item.requestHeaders.headers) {
--- a/devtools/client/netmonitor/test/browser_net_security-details.js
+++ b/devtools/client/netmonitor/test/browser_net_security-details.js
@@ -2,36 +2,36 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test that Security details tab contains the expected data.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
info("Performing a secure request.");
const REQUESTS_URL = "https://example.com" + CORS_SJS_PATH;
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, REQUESTS_URL, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, REQUESTS_URL, async function (url) {
content.wrappedJSObject.performRequests(1, url);
});
- yield wait;
+ await wait;
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#security-tab"));
- yield waitUntil(() => document.querySelector(
+ await waitUntil(() => document.querySelector(
"#security-panel .security-info-value"));
let tabpanel = document.querySelector("#security-panel");
let textboxes = tabpanel.querySelectorAll(".textbox-input");
// Connection
// The protocol will be TLS but the exact version depends on which protocol
// the test server example.com supports.
@@ -72,10 +72,10 @@ add_task(function* () {
// cert validity expires
isnot(textboxes[13].value, "", "Label was not empty.");
// cert sha1 fingerprint
isnot(textboxes[14].value, "", "Label was not empty.");
// cert sha256 fingerprint
isnot(textboxes[15].value, "", "Label was not empty.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_security-error.js
+++ b/devtools/client/netmonitor/test/browser_net_security-error.js
@@ -2,37 +2,37 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test that Security details tab shows an error message with broken connections.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
info("Requesting a resource that has a certificate problem.");
let requestsDone = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(1, "https://nocert.example.com");
});
- yield requestsDone;
+ await requestsDone;
let securityInfoLoaded = waitForDOM(document, ".security-info-value");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
- yield waitUntil(() => document.querySelector("#security-tab"));
+ await waitUntil(() => document.querySelector("#security-tab"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#security-tab"));
- yield securityInfoLoaded;
+ await securityInfoLoaded;
let errormsg = document.querySelector(".security-info-value");
isnot(errormsg.textContent, "", "Error message is not empty.");
return teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_security-icon-click.js
+++ b/devtools/client/netmonitor/test/browser_net_security-icon-click.js
@@ -2,55 +2,55 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test that clicking on the security indicator opens the security details tab.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
info("Requesting a resource over HTTPS.");
- yield performRequestAndWait("https://example.com" + CORS_SJS_PATH + "?request_2");
- yield performRequestAndWait("https://example.com" + CORS_SJS_PATH + "?request_1");
+ await performRequestAndWait("https://example.com" + CORS_SJS_PATH + "?request_2");
+ await performRequestAndWait("https://example.com" + CORS_SJS_PATH + "?request_1");
is(store.getState().requests.requests.size, 2, "Two events event logged.");
- yield clickAndTestSecurityIcon();
+ await clickAndTestSecurityIcon();
info("Selecting headers panel again.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#headers-tab"));
info("Sorting the items by filename.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-file-button"));
info("Testing that security icon can be clicked after the items were sorted.");
- yield clickAndTestSecurityIcon();
+ await clickAndTestSecurityIcon();
return teardown(monitor);
- function* performRequestAndWait(url) {
+ async function performRequestAndWait(url) {
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, { url }, function* (args) {
+ await ContentTask.spawn(tab.linkedBrowser, { url }, async function (args) {
content.wrappedJSObject.performRequests(1, args.url);
});
return wait;
}
- function* clickAndTestSecurityIcon() {
+ async function clickAndTestSecurityIcon() {
let icon = document.querySelector(".requests-security-state-icon");
info("Clicking security icon of the first request and waiting for panel update.");
EventUtils.synthesizeMouseAtCenter(icon, {}, monitor.panelWin);
- yield waitUntil(() => document.querySelector("#security-panel .security-info-value"));
+ await waitUntil(() => document.querySelector("#security-panel .security-info-value"));
ok(document.querySelector("#security-tab[aria-selected=true]"),
"Security tab is selected.");
}
});
--- a/devtools/client/netmonitor/test/browser_net_security-redirect.js
+++ b/devtools/client/netmonitor/test/browser_net_security-redirect.js
@@ -3,37 +3,37 @@
"use strict";
/**
* Test a http -> https redirect shows secure icon only for redirected https
* request.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
- yield ContentTask.spawn(tab.linkedBrowser, HTTPS_REDIRECT_SJS, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, HTTPS_REDIRECT_SJS, async function (url) {
content.wrappedJSObject.performRequests(1, url);
});
- yield wait;
+ await wait;
is(store.getState().requests.requests.size, 2,
"There were two requests due to redirect.");
let [
initialSecurityIcon,
redirectSecurityIcon,
] = document.querySelectorAll(".requests-security-state-icon");
ok(initialSecurityIcon.classList.contains("security-state-insecure"),
"Initial request was marked insecure.");
ok(redirectSecurityIcon.classList.contains("security-state-secure"),
"Redirected request was marked secure.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_security-state.js
+++ b/devtools/client/netmonitor/test/browser_net_security-state.js
@@ -3,31 +3,31 @@
"use strict";
/**
* Test that correct security state indicator appears depending on the security
* state.
*/
-add_task(function* () {
+add_task(async function () {
const EXPECTED_SECURITY_STATES = {
"test1.example.com": "security-state-insecure",
"example.com": "security-state-secure",
"nocert.example.com": "security-state-broken",
"localhost": "security-state-local",
};
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
- yield performRequests();
+ await performRequests();
for (let subitemNode of Array.from(document.querySelectorAll(
"requests-list-column.requests-list-security-and-domain"))) {
let domain = subitemNode.querySelector(".requests-list-domain").textContent;
info("Found a request to " + domain);
ok(domain in EXPECTED_SECURITY_STATES, "Domain " + domain + " was expected.");
@@ -44,47 +44,47 @@ add_task(function* () {
/**
* A helper that performs requests to
* - https://nocert.example.com (broken)
* - https://example.com (secure)
* - http://test1.example.com (insecure)
* - http://localhost (local)
* and waits until NetworkMonitor has handled all packets sent by the server.
*/
- function* performRequests() {
+ async function performRequests() {
function executeRequests(count, url) {
- return ContentTask.spawn(tab.linkedBrowser, {count, url}, function* (args) {
+ return ContentTask.spawn(tab.linkedBrowser, {count, url}, async function (args) {
content.wrappedJSObject.performRequests(args.count, args.url);
});
}
let done = waitForNetworkEvents(monitor, 1);
info("Requesting a resource that has a certificate problem.");
- yield executeRequests(1, "https://nocert.example.com");
+ await executeRequests(1, "https://nocert.example.com");
// Wait for the request to complete before firing another request. Otherwise
// the request with security issues interfere with waitForNetworkEvents.
info("Waiting for request to complete.");
- yield done;
+ await done;
// Next perform a request over HTTP. If done the other way around the latter
// occasionally hangs waiting for event timings that don't seem to appear...
done = waitForNetworkEvents(monitor, 1);
info("Requesting a resource over HTTP.");
- yield executeRequests(1, "http://test1.example.com" + CORS_SJS_PATH);
- yield done;
+ await executeRequests(1, "http://test1.example.com" + CORS_SJS_PATH);
+ await done;
done = waitForNetworkEvents(monitor, 1);
info("Requesting a resource over HTTPS.");
- yield executeRequests(1, "https://example.com" + CORS_SJS_PATH);
- yield done;
+ await executeRequests(1, "https://example.com" + CORS_SJS_PATH);
+ await done;
done = waitForNetworkEvents(monitor, 1);
info("Requesting a resource over HTTP to localhost.");
- yield executeRequests(1, "http://localhost" + CORS_SJS_PATH);
- yield done;
+ await executeRequests(1, "http://localhost" + CORS_SJS_PATH);
+ await done;
const expectedCount = Object.keys(EXPECTED_SECURITY_STATES).length;
is(store.getState().requests.requests.size,
expectedCount,
expectedCount + " events logged.");
}
});
--- a/devtools/client/netmonitor/test/browser_net_security-tab-deselect.js
+++ b/devtools/client/netmonitor/test/browser_net_security-tab-deselect.js
@@ -3,41 +3,41 @@
"use strict";
/**
* Test that security details tab is no longer selected if an insecure request
* is selected.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
info("Performing requests.");
let wait = waitForNetworkEvents(monitor, 2);
const REQUEST_URLS = [
"https://example.com" + CORS_SJS_PATH,
"http://example.com" + CORS_SJS_PATH,
];
- yield ContentTask.spawn(tab.linkedBrowser, REQUEST_URLS, function* (urls) {
+ await ContentTask.spawn(tab.linkedBrowser, REQUEST_URLS, async function (urls) {
for (let url of urls) {
content.wrappedJSObject.performRequests(1, url);
}
});
- yield wait;
+ await wait;
info("Selecting secure request.");
wait = waitForDOM(document, ".tabs");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
info("Selecting security tab.");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelector("#security-tab"));
info("Selecting insecure request.");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[1]);
--- a/devtools/client/netmonitor/test/browser_net_security-tab-visibility.js
+++ b/devtools/client/netmonitor/test/browser_net_security-tab-visibility.js
@@ -2,17 +2,17 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test that security details tab is visible only when it should.
*/
-add_task(function* () {
+add_task(async function () {
const TEST_DATA = [
{
desc: "http request",
uri: "http://example.com" + CORS_SJS_PATH,
visibleOnNewEvent: false,
visibleOnSecurityInfo: false,
visibleOnceComplete: false,
}, {
@@ -26,69 +26,69 @@ add_task(function* () {
uri: "https://nocert.example.com",
isBroken: true,
visibleOnNewEvent: false,
visibleOnSecurityInfo: true,
visibleOnceComplete: true,
}
];
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { getSelectedRequest } =
windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
for (let testcase of TEST_DATA) {
info("Testing Security tab visibility for " + testcase.desc);
let onNewItem = monitor.panelWin.once(EVENTS.NETWORK_EVENT);
let onComplete = testcase.isBroken ?
waitForSecurityBrokenNetworkEvent() :
waitForNetworkEvents(monitor, 1);
info("Performing a request to " + testcase.uri);
- yield ContentTask.spawn(tab.linkedBrowser, testcase.uri, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, testcase.uri, async function (url) {
content.wrappedJSObject.performRequests(1, url);
});
info("Waiting for new network event.");
- yield onNewItem;
+ await onNewItem;
info("Selecting the request.");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
is(getSelectedRequest(store.getState()).securityState, undefined,
"Security state has not yet arrived.");
is(!!document.querySelector("#security-tab"), testcase.visibleOnNewEvent,
"Security tab is " + (testcase.visibleOnNewEvent ? "visible" : "hidden") +
" after new request was added to the menu.");
if (testcase.visibleOnSecurityInfo) {
// click security panel to lazy load the securityState
- yield waitUntil(() => document.querySelector("#security-tab"));
+ await waitUntil(() => document.querySelector("#security-tab"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#security-tab"));
- yield waitUntil(() => document.querySelector(
+ await waitUntil(() => document.querySelector(
"#security-panel .security-info-value"));
info("Waiting for security information to arrive.");
- yield waitUntil(() => !!getSelectedRequest(store.getState()).securityState);
+ await waitUntil(() => !!getSelectedRequest(store.getState()).securityState);
ok(getSelectedRequest(store.getState()).securityState,
"Security state arrived.");
}
is(!!document.querySelector("#security-tab"), testcase.visibleOnSecurityInfo,
"Security tab is " + (testcase.visibleOnSecurityInfo ? "visible" : "hidden") +
" after security information arrived.");
info("Waiting for request to complete.");
- yield onComplete;
+ await onComplete;
is(!!document.querySelector("#security-tab"), testcase.visibleOnceComplete,
"Security tab is " + (testcase.visibleOnceComplete ? "visible" : "hidden") +
" after request has been completed.");
info("Clearing requests.");
store.dispatch(Actions.clearRequests());
}
--- a/devtools/client/netmonitor/test/browser_net_security-warnings.js
+++ b/devtools/client/netmonitor/test/browser_net_security-warnings.js
@@ -10,45 +10,45 @@
const TEST_CASES = [
{
desc: "no warnings",
uri: "https://example.com" + CORS_SJS_PATH,
warnCipher: null,
},
];
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
for (let test of TEST_CASES) {
info("Testing site with " + test.desc);
info("Performing request to " + test.uri);
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, test.uri, function* (url) {
+ await ContentTask.spawn(tab.linkedBrowser, test.uri, async function (url) {
content.wrappedJSObject.performRequests(1, url);
});
- yield wait;
+ await wait;
info("Selecting the request.");
wait = waitForDOM(document, ".tabs");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[0]);
- yield wait;
+ await wait;
if (!document.querySelector("#security-tab[aria-selected=true]")) {
info("Selecting security tab.");
wait = waitForDOM(document, "#security-panel .properties-view");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#security-tab"));
- yield wait;
+ await wait;
}
is(document.querySelector("#security-warning-cipher"),
test.warnCipher,
"Cipher suite warning is hidden.");
store.dispatch(Actions.clearRequests());
}
--- a/devtools/client/netmonitor/test/browser_net_send-beacon-other-tab.js
+++ b/devtools/client/netmonitor/test/browser_net_send-beacon-other-tab.js
@@ -2,38 +2,38 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if beacons from other tabs are properly ignored.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
let { store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
- let beaconTab = yield addTab(SEND_BEACON_URL);
+ let beaconTab = await addTab(SEND_BEACON_URL);
info("Beacon tab added successfully.");
is(store.getState().requests.requests.size, 0, "The requests menu should be empty.");
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(beaconTab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(beaconTab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequest();
});
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
is(store.getState().requests.requests.size, 1, "Only the reload should be recorded.");
let request = getSortedRequests(store.getState()).get(0);
is(request.method, "GET", "The method is correct.");
is(request.status, "200", "The status is correct.");
- yield removeTab(beaconTab);
+ await removeTab(beaconTab);
return teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_send-beacon.js
+++ b/devtools/client/netmonitor/test/browser_net_send-beacon.js
@@ -2,32 +2,32 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if beacons are handled correctly.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SEND_BEACON_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SEND_BEACON_URL);
let { store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { getSortedRequests } =
windowRequire("devtools/client/netmonitor/src/selectors/index");
store.dispatch(Actions.batchEnable(false));
is(store.getState().requests.requests.size, 0, "The requests menu should be empty.");
let wait = waitForNetworkEvents(monitor, 1);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequest();
});
- yield wait;
+ await wait;
is(store.getState().requests.requests.size, 1, "The beacon should be recorded.");
let request = getSortedRequests(store.getState()).get(0);
is(request.method, "POST", "The method is correct.");
ok(request.url.endsWith("beacon_request"), "The URL is correct.");
is(request.status, "404", "The status is correct.");
return teardown(monitor);
--- a/devtools/client/netmonitor/test/browser_net_service-worker-status.js
+++ b/devtools/client/netmonitor/test/browser_net_service-worker-status.js
@@ -7,18 +7,18 @@
* Tests if requests intercepted by service workers have the correct status code
*/
// Service workers only work on https
const URL = EXAMPLE_URL.replace("http:", "https:");
const TEST_URL = URL + "service-workers/status-codes.html";
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(TEST_URL, true);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(TEST_URL, true);
info("Starting test... ");
let { document, store, windowRequire, connector } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
@@ -36,47 +36,47 @@ add_task(function* () {
type: "plain",
fullMimeType: "text/plain; charset=UTF-8"
},
stackFunctions: ["doXHR", "performRequests"]
},
];
info("Registering the service worker...");
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
- yield content.wrappedJSObject.registerServiceWorker();
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
+ await content.wrappedJSObject.registerServiceWorker();
});
info("Performing requests...");
let wait = waitForNetworkEvents(monitor, REQUEST_DATA.length);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
// Fetch stack-trace data from the backend and wait till
// all packets are received.
let requests = getSortedRequests(store.getState());
- yield Promise.all(requests.map(requestItem =>
+ await Promise.all(requests.map(requestItem =>
connector.requestData(requestItem.id, "stackTrace")));
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
let index = 0;
for (let request of REQUEST_DATA) {
let item = getSortedRequests(store.getState()).get(index);
info(`Verifying request #${index}`);
- yield verifyRequestItemTarget(
+ await verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
item,
request.method,
request.uri,
request.details
);
@@ -91,14 +91,14 @@ add_task(function* () {
is(stacktrace[j].functionName, functionName,
`Request #${index} has the correct function at position #${j} on the stack`);
});
index++;
}
info("Unregistering the service worker...");
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
- yield content.wrappedJSObject.unregisterServiceWorker();
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
+ await content.wrappedJSObject.unregisterServiceWorker();
});
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_simple-request-details.js
+++ b/devtools/client/netmonitor/test/browser_net_simple-request-details.js
@@ -2,36 +2,36 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if requests render correct information in the details UI.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(SIMPLE_SJS);
+ let { tab, monitor } = await initNetMonitor(SIMPLE_SJS);
info("Starting test... ");
let { document, store, windowRequire, NetMonitorView } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let { EVENTS } = windowRequire("devtools/client/netmonitor/src/constants");
let {
getSelectedRequest,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
let Editor = require("devtools/client/sourceeditor/editor");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
is(getSelectedRequest(store.getState()), undefined,
"There shouldn't be any selected item in the requests menu.");
is(store.getState().requests.requests.size, 1,
"The requests menu should not be empty after the first request.");
is(!!document.querySelector(".network-details-panel"), false,
"The network details panel should still be hidden after first request.");
@@ -41,19 +41,19 @@ add_task(function* () {
isnot(getSelectedRequest(store.getState()), undefined,
"There should be a selected item in the requests menu.");
is(getSelectedIndex(store.getState()), 0,
"The first item should be selected in the requests menu.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should not be hidden after toggle button was pressed.");
testHeadersTab();
- yield testCookiesTab();
+ await testCookiesTab();
testParamsTab();
- yield testResponseTab();
+ await testResponseTab();
testTimingsTab();
return teardown(monitor);
function getSelectedIndex(state) {
if (!state.requests.selectedId) {
return -1;
}
return getSortedRequests(state).findIndex(r => r.id === state.requests.selectedId);
@@ -156,21 +156,21 @@ add_task(function* () {
is(requestScope.querySelectorAll(".variables-view-variable .name")[8]
.getAttribute("value"),
"Cache-Control", "The last request header name was incorrect.");
is(requestScope.querySelectorAll(".variables-view-variable .value")[8]
.getAttribute("value"),
"\"no-cache\"", "The last request header value was incorrect.");
}
- function* testCookiesTab() {
+ async function testCookiesTab() {
let onEvent = monitor.panelWin.once(EVENTS.TAB_UPDATED);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll("#details-pane tab")[1]);
- yield onEvent;
+ await onEvent;
let tabEl = document.querySelectorAll("#details-pane tab")[1];
let tabpanel = document.querySelectorAll("#details-pane tabpanel")[1];
is(tabEl.getAttribute("selected"), "true",
"The cookies tab in the network details pane should be selected.");
is(tabpanel.querySelectorAll(".variables-view-scope").length, 2,
@@ -199,21 +199,21 @@ add_task(function* () {
is(tabpanel.querySelector("#request-params-box")
.hasAttribute("hidden"), false,
"The request params box should not be hidden.");
is(tabpanel.querySelector("#request-post-data-textarea-box")
.hasAttribute("hidden"), true,
"The request post data textarea box should be hidden.");
}
- function* testResponseTab() {
+ async function testResponseTab() {
let onEvent = monitor.panelWin.once(EVENTS.TAB_UPDATED);
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll("#details-pane tab")[3]);
- yield onEvent;
+ await onEvent;
let tabEl = document.querySelectorAll("#details-pane tab")[3];
let tabpanel = document.querySelectorAll("#details-pane tabpanel")[3];
is(tabEl.getAttribute("selected"), "true",
"The response tab in the network details pane should be selected.");
is(tabpanel.querySelector("#response-content-info-header")
@@ -224,17 +224,17 @@ add_task(function* () {
"The response content json box should be hidden.");
is(tabpanel.querySelector("#response-content-textarea-box")
.hasAttribute("hidden"), false,
"The response content textarea box should not be hidden.");
is(tabpanel.querySelector("#response-content-image-box")
.hasAttribute("hidden"), true,
"The response content image box should be hidden.");
- let editor = yield NetMonitorView.editor("#response-content-textarea");
+ let editor = await NetMonitorView.editor("#response-content-textarea");
is(editor.getText(), "Hello world!",
"The text shown in the source editor is incorrect.");
is(editor.getMode(), Editor.modes.text,
"The mode active in the source editor is incorrect.");
}
function testTimingsTab() {
EventUtils.sendMouseEvent({ type: "mousedown" },
--- a/devtools/client/netmonitor/test/browser_net_simple-request.js
+++ b/devtools/client/netmonitor/test/browser_net_simple-request.js
@@ -7,18 +7,18 @@
* Test whether the UI state properly reflects existence of requests
* displayed in the Net panel. The following parts of the UI are
* tested:
* 1) Side panel visibility
* 2) Side panel toggle button
* 3) Empty user message visibility
* 4) Number of requests displayed
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
is(document.querySelector(".network-details-panel-toggle").hasAttribute("disabled"),
@@ -26,29 +26,29 @@ add_task(function* () {
"The pane toggle button should be disabled when the frontend is opened.");
ok(document.querySelector(".request-list-empty-notice"),
"An empty notice should be displayed when the frontend is opened.");
is(store.getState().requests.requests.size, 0,
"The requests menu should be empty when the frontend is opened.");
is(!!document.querySelector(".network-details-panel"), false,
"The network details panel should be hidden when the frontend is opened.");
- yield reloadAndWait();
+ await reloadAndWait();
is(document.querySelector(".network-details-panel-toggle").hasAttribute("disabled"),
false,
"The pane toggle button should be enabled after the first request.");
ok(!document.querySelector(".request-list-empty-notice"),
"The empty notice should be hidden after the first request.");
is(store.getState().requests.requests.size, 1,
"The requests menu should not be empty after the first request.");
is(!!document.querySelector(".network-details-panel"), false,
"The network details panel should still be hidden after the first request.");
- yield reloadAndWait();
+ await reloadAndWait();
is(document.querySelector(".network-details-panel-toggle").hasAttribute("disabled"),
false,
"The pane toggle button should be still be enabled after a reload.");
ok(!document.querySelector(".request-list-empty-notice"),
"The empty notice should be still hidden after a reload.");
is(store.getState().requests.requests.size, 1,
"The requests menu should not be empty after a reload.");
@@ -64,14 +64,14 @@ add_task(function* () {
"An empty notice should be displayed again after clear.");
is(store.getState().requests.requests.size, 0,
"The requests menu should be empty after clear.");
is(!!document.querySelector(".network-details-panel"), false,
"The network details panel should still be hidden after clear.");
return teardown(monitor);
- function* reloadAndWait() {
+ function reloadAndWait() {
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
return wait;
}
});
--- a/devtools/client/netmonitor/test/browser_net_sort-01.js
+++ b/devtools/client/netmonitor/test/browser_net_sort-01.js
@@ -2,20 +2,20 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test if sorting columns in the network table works correctly with new requests.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor } = yield initNetMonitor(SORTING_URL);
+ let { monitor } = await initNetMonitor(SORTING_URL);
info("Starting test... ");
// It seems that this test may be slow on debug builds. This could be because
// of the heavy dom manipulation associated with sorting.
requestLongerTimeout(2);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
@@ -43,73 +43,73 @@ add_task(function* () {
url: "sjs_sorting-test-server.sjs?index=4&" + Math.random(),
method: "GET4"
}, {
url: "sjs_sorting-test-server.sjs?index=3&" + Math.random(),
method: "GET3"
}];
let wait = waitForNetworkEvents(monitor, 5);
- yield performRequestsInContent(requests);
- yield wait;
+ await performRequestsInContent(requests);
+ await wait;
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
isnot(getSelectedRequest(store.getState()), undefined,
"There should be a selected item in the requests menu.");
is(getSelectedIndex(store.getState()), 0,
"The first item should be selected in the requests menu.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should be visible after toggle button was pressed.");
testHeaders();
- yield testContents([0, 2, 4, 3, 1], 0);
+ await testContents([0, 2, 4, 3, 1], 0);
info("Testing status sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
- yield testContents([0, 1, 2, 3, 4], 0);
+ await testContents([0, 1, 2, 3, 4], 0);
info("Performing more requests.");
wait = waitForNetworkEvents(monitor, 5);
- yield performRequestsInContent(requests);
- yield wait;
+ await performRequestsInContent(requests);
+ await wait;
info("Testing status sort again, ascending.");
testHeaders("status", "ascending");
- yield testContents([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 0);
+ await testContents([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 0);
info("Testing status sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-status-button"));
testHeaders("status", "descending");
- yield testContents([9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 9);
+ await testContents([9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 9);
info("Performing more requests.");
wait = waitForNetworkEvents(monitor, 5);
- yield performRequestsInContent(requests);
- yield wait;
+ await performRequestsInContent(requests);
+ await wait;
info("Testing status sort again, descending.");
testHeaders("status", "descending");
- yield testContents([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 14);
+ await testContents([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 14);
info("Testing status sort yet again, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
- yield testContents([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 0);
+ await testContents([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], 0);
info("Testing status sort yet again, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-status-button"));
testHeaders("status", "descending");
- yield testContents([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 14);
+ await testContents([14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0], 14);
return teardown(monitor);
function testHeaders(sortType, direction) {
let doc = monitor.panelWin.document;
let target = doc.querySelector("#requests-list-" + sortType + "-button");
let headers = doc.querySelectorAll(".requests-list-header-button");
@@ -136,17 +136,17 @@ add_task(function* () {
function getSelectedIndex(state) {
if (!state.requests.selectedId) {
return -1;
}
return getSortedRequests(state).findIndex(r => r.id === state.requests.selectedId);
}
- function* testContents(order, selection) {
+ async function testContents(order, selection) {
isnot(getSelectedRequest(store.getState()), undefined,
"There should still be a selected item after sorting.");
is(getSelectedIndex(store.getState()), selection,
"The first item should be still selected after sorting.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should still be visible after sorting.");
is(getSortedRequests(store.getState()).length, order.length,
@@ -156,17 +156,17 @@ add_task(function* () {
is(document.querySelectorAll(".request-list-item").length, order.length,
"The visible items in the requests menu are, in fact, visible!");
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
for (let i = 0, len = order.length / 5; i < len; i++) {
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(order[i]),
"GET1", SORTING_SJS + "?index=1", {
--- a/devtools/client/netmonitor/test/browser_net_sort-02.js
+++ b/devtools/client/netmonitor/test/browser_net_sort-02.js
@@ -2,20 +2,20 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test if sorting columns in the network table works correctly.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { monitor } = yield initNetMonitor(SORTING_URL);
+ let { monitor } = await initNetMonitor(SORTING_URL);
info("Starting test... ");
// It seems that this test may be slow on debug builds. This could be because
// of the heavy dom manipulation associated with sorting.
requestLongerTimeout(2);
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
@@ -43,157 +43,157 @@ add_task(function* () {
url: "sjs_sorting-test-server.sjs?index=4&" + Math.random(),
method: "GET4"
}, {
url: "sjs_sorting-test-server.sjs?index=3&" + Math.random(),
method: "GET3"
}];
let wait = waitForNetworkEvents(monitor, 5);
- yield performRequestsInContent(requests);
- yield wait;
+ await performRequestsInContent(requests);
+ await wait;
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
isnot(getSelectedRequest(store.getState()), undefined,
"There should be a selected item in the requests menu.");
is(getSelectedIndex(store.getState()), 0,
"The first item should be selected in the requests menu.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should be visible after toggle button was pressed.");
testHeaders();
- yield testContents([0, 2, 4, 3, 1]);
+ await testContents([0, 2, 4, 3, 1]);
info("Testing status sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing status sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-status-button"));
testHeaders("status", "descending");
- yield testContents([4, 3, 2, 1, 0]);
+ await testContents([4, 3, 2, 1, 0]);
info("Testing status sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-status-button"));
testHeaders("status", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing method sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-method-button"));
testHeaders("method", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing method sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-method-button"));
testHeaders("method", "descending");
- yield testContents([4, 3, 2, 1, 0]);
+ await testContents([4, 3, 2, 1, 0]);
info("Testing method sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-method-button"));
testHeaders("method", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing file sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-file-button"));
testHeaders("file", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing file sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-file-button"));
testHeaders("file", "descending");
- yield testContents([4, 3, 2, 1, 0]);
+ await testContents([4, 3, 2, 1, 0]);
info("Testing file sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-file-button"));
testHeaders("file", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing type sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-type-button"));
testHeaders("type", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing type sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-type-button"));
testHeaders("type", "descending");
- yield testContents([4, 3, 2, 1, 0]);
+ await testContents([4, 3, 2, 1, 0]);
info("Testing type sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-type-button"));
testHeaders("type", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing transferred sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-transferred-button"));
testHeaders("transferred", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing transferred sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-transferred-button"));
testHeaders("transferred", "descending");
- yield testContents([4, 3, 2, 1, 0]);
+ await testContents([4, 3, 2, 1, 0]);
info("Testing transferred sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-transferred-button"));
testHeaders("transferred", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing size sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-contentSize-button"));
testHeaders("contentSize", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing size sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-contentSize-button"));
testHeaders("contentSize", "descending");
- yield testContents([4, 3, 2, 1, 0]);
+ await testContents([4, 3, 2, 1, 0]);
info("Testing size sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-contentSize-button"));
testHeaders("contentSize", "ascending");
- yield testContents([0, 1, 2, 3, 4]);
+ await testContents([0, 1, 2, 3, 4]);
info("Testing waterfall sort, ascending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-waterfall-button"));
testHeaders("waterfall", "ascending");
- yield testContents([0, 2, 4, 3, 1]);
+ await testContents([0, 2, 4, 3, 1]);
info("Testing waterfall sort, descending.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-waterfall-button"));
testHeaders("waterfall", "descending");
- yield testContents([4, 2, 0, 1, 3]);
+ await testContents([4, 2, 0, 1, 3]);
info("Testing waterfall sort, ascending. Checking sort loops correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#requests-list-waterfall-button"));
testHeaders("waterfall", "ascending");
- yield testContents([0, 2, 4, 3, 1]);
+ await testContents([0, 2, 4, 3, 1]);
return teardown(monitor);
function getSelectedIndex(state) {
if (!state.requests.selectedId) {
return -1;
}
return getSortedRequests(state).findIndex(r => r.id === state.requests.selectedId);
@@ -220,17 +220,17 @@ add_task(function* () {
: L10N.getStr("networkMenu.sortedDesc");
ok(header.getAttribute("title").includes(sorted),
"The " + header.id +
" header includes the used sorting in the 'title' attribute.");
}
}
}
- function* testContents([a, b, c, d, e]) {
+ async function testContents([a, b, c, d, e]) {
isnot(getSelectedRequest(store.getState()), undefined,
"There should still be a selected item after sorting.");
is(getSelectedIndex(store.getState()), a,
"The first item should be still selected after sorting.");
is(!!document.querySelector(".network-details-panel"), true,
"The network details panel should still be visible after sorting.");
is(getSortedRequests(store.getState()).length, 5,
@@ -240,17 +240,17 @@ add_task(function* () {
is(document.querySelectorAll(".request-list-item").length, 5,
"The visible items in the requests menu are, in fact, visible!");
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(a),
"GET1", SORTING_SJS + "?index=1", {
fuzzyUrl: true,
--- a/devtools/client/netmonitor/test/browser_net_statistics-01.js
+++ b/devtools/client/netmonitor/test/browser_net_statistics-01.js
@@ -2,18 +2,18 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the statistics panel displays correctly.
*/
-add_task(function* () {
- let { monitor } = yield initNetMonitor(STATISTICS_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(STATISTICS_URL);
info("Starting test... ");
let panel = monitor.panelWin;
let { document, store, windowRequire, connector } = panel;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
ok(document.querySelector(".monitor-panel"),
"The current main panel is correct.");
@@ -21,32 +21,32 @@ add_task(function* () {
info("Displaying statistics panel");
store.dispatch(Actions.openStatistics(connector, true));
ok(document.querySelector(".statistics-panel"),
"The current main panel is correct.");
info("Waiting for placeholder to display");
- yield waitUntil(
+ await waitUntil(
() => document.querySelectorAll(".pie-chart-container[placeholder=true]")
.length == 2);
ok(true, "Two placeholder pie charts appear to be rendered correctly.");
- yield waitUntil(
+ await waitUntil(
() => document.querySelectorAll(".table-chart-container[placeholder=true]")
.length == 2);
ok(true, "Two placeholde table charts appear to be rendered correctly.");
info("Waiting for chart to display");
- yield waitUntil(
+ await waitUntil(
() => document.querySelectorAll(".pie-chart-container:not([placeholder=true])")
.length == 2);
ok(true, "Two real pie charts appear to be rendered correctly.");
- yield waitUntil(
+ await waitUntil(
() => document.querySelectorAll(".table-chart-container:not([placeholder=true])")
.length == 2);
ok(true, "Two real table charts appear to be rendered correctly.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_statistics-02.js
+++ b/devtools/client/netmonitor/test/browser_net_statistics-02.js
@@ -3,18 +3,18 @@
"use strict";
/**
* Test if the correct filtering predicates are used when filtering from
* the performance analysis view.
*/
-add_task(function* () {
- let { monitor } = yield initNetMonitor(FILTERING_URL);
+add_task(async function () {
+ let { monitor } = await initNetMonitor(FILTERING_URL);
info("Starting test... ");
let panel = monitor.panelWin;
let { document, store, windowRequire, connector } = panel;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".requests-list-filter-html-button"));
@@ -29,24 +29,24 @@ add_task(function* () {
testFilterButtonsCustom(monitor, [0, 1, 1, 1, 0, 0, 0, 0, 1, 1]);
info("The correct filtering predicates are used before entering perf. analysis mode.");
store.dispatch(Actions.openStatistics(connector, true));
ok(document.querySelector(".statistics-panel"),
"The main panel is switched to the statistics panel.");
- yield waitUntil(
+ await waitUntil(
() => document.querySelectorAll(".pie-chart-container:not([placeholder=true])")
.length == 2);
ok(true, "Two real pie charts appear to be rendered correctly.");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".pie-chart-slice"));
ok(document.querySelector(".monitor-panel"),
"The main panel is switched back to the monitor panel.");
testFilterButtons(monitor, "html");
info("The correct filtering predicate is used when exiting perf. analysis mode.");
- yield teardown(monitor);
+ await teardown(monitor);
});
--- a/devtools/client/netmonitor/test/browser_net_status-codes.js
+++ b/devtools/client/netmonitor/test/browser_net_status-codes.js
@@ -2,20 +2,20 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if requests display the correct status code and text in the UI.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(STATUS_CODES_URL);
+ let { tab, monitor } = await initNetMonitor(STATUS_CODES_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
@@ -94,49 +94,49 @@ add_task(function* () {
fullMimeType: "text/plain; charset=utf-8",
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 22),
time: true
}
}
];
let wait = waitForNetworkEvents(monitor, 5);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield wait;
+ await wait;
info("Performing tests");
- yield verifyRequests();
- yield testTab(0, testHeaders);
- yield testTab(2, testParams);
+ await verifyRequests();
+ await testTab(0, testHeaders);
+ await testTab(2, testParams);
return teardown(monitor);
/**
* A helper that verifies all requests show the correct information and caches
* request list items to requestItems array.
*/
- function* verifyRequests() {
+ async function verifyRequests() {
let requestListItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestListItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
info("Verifying requests contain correct information.");
let index = 0;
for (let request of REQUEST_DATA) {
let item = getSortedRequests(store.getState()).get(index);
requestItems[index] = item;
info("Verifying request #" + index);
- yield verifyRequestItemTarget(
+ await verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
item,
request.method,
request.uri,
request.details
);
@@ -150,34 +150,34 @@ add_task(function* () {
*
* @param Number tabIdx
* The index of tab to activate.
* @param Function testFn(requestItem)
* A function that should perform all necessary tests. It's called once
* for every item of REQUEST_DATA with that item being selected in the
* NetworkMonitor.
*/
- function* testTab(tabIdx, testFn) {
+ async function testTab(tabIdx, testFn) {
let counter = 0;
for (let item of REQUEST_DATA) {
info("Testing tab #" + tabIdx + " to update with request #" + counter);
- yield testFn(item, counter);
+ await testFn(item, counter);
counter++;
}
}
/**
* A function that tests "Headers" panel contains correct information.
*/
- function* testHeaders(data, index) {
+ async function testHeaders(data, index) {
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[index]);
- yield waitUntil(() => document.querySelector(
+ await waitUntil(() => document.querySelector(
"#headers-panel .tabpanel-summary-value.textbox-input"));
let panel = document.querySelector("#headers-panel");
let summaryValues = panel.querySelectorAll(".tabpanel-summary-value.textbox-input");
let { method, correctUri, details: { status, statusText } } = data;
is(summaryValues[0].value, correctUri,
"The url summary value is incorrect.");
@@ -186,17 +186,17 @@ add_task(function* () {
"The status summary code is incorrect.");
is(summaryValues[3].value, status + " " + statusText,
"The status summary value is incorrect.");
}
/**
* A function that tests "Params" panel contains correct information.
*/
- function* testParams(data, index) {
+ function testParams(data, index) {
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".request-list-item")[index]);
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#params-tab"));
let panel = document.querySelector("#params-panel");
// Bug 1414981 - Request URL should not show #hash
let statusParamValue = data.uri.split("=").pop().split("#")[0];
--- a/devtools/client/netmonitor/test/browser_net_streaming-response.js
+++ b/devtools/client/netmonitor/test/browser_net_streaming-response.js
@@ -3,18 +3,18 @@
"use strict";
/**
* Tests if reponses from streaming content types (MPEG-DASH, HLS) are
* displayed as XML or plain text
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
let {
getDisplayedRequests,
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
@@ -24,28 +24,28 @@ add_task(function* () {
const REQUESTS = [
[ "hls-m3u8", /^#EXTM3U/ ],
[ "mpeg-dash", /^<\?xml/ ]
];
let wait = waitForNetworkEvents(monitor, REQUESTS.length);
for (let [fmt] of REQUESTS) {
let url = CONTENT_TYPE_SJS + "?fmt=" + fmt;
- yield ContentTask.spawn(tab.linkedBrowser, { url }, function* (args) {
+ await ContentTask.spawn(tab.linkedBrowser, { url }, async function (args) {
content.wrappedJSObject.performRequests(1, args.url);
});
}
- yield wait;
+ await wait;
let requestItems = document.querySelectorAll(".request-list-item");
for (let requestItem of requestItems) {
requestItem.scrollIntoView();
let requestsListStatus = requestItem.querySelector(".requests-list-status");
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
- yield waitUntil(() => requestsListStatus.title);
+ await waitUntil(() => requestsListStatus.title);
}
REQUESTS.forEach(([ fmt ], i) => {
verifyRequestItemTarget(
document,
getDisplayedRequests(store.getState()),
getSortedRequests(store.getState()).get(i),
"GET",
@@ -56,25 +56,25 @@ add_task(function* () {
});
});
wait = waitForDOM(document, "#response-panel");
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector(".network-details-panel-toggle"));
EventUtils.sendMouseEvent({ type: "click" },
document.querySelector("#response-tab"));
- yield wait;
+ await wait;
store.dispatch(Actions.selectRequest(null));
- yield selectIndexAndWaitForSourceEditor(monitor, 0);
+ await selectIndexAndWaitForSourceEditor(monitor, 0);
// the hls-m3u8 part
testEditorContent(REQUESTS[0]);
- yield selectIndexAndWaitForSourceEditor(monitor, 1);
+ await selectIndexAndWaitForSourceEditor(monitor, 1);
// the mpeg-dash part
testEditorContent(REQUESTS[1]);
return teardown(monitor);
function testEditorContent([ fmt, textRe ]) {
ok(document.querySelector(".CodeMirror-line").textContent.match(textRe),
"The text shown in the source editor for " + fmt + " is correct.");
--- a/devtools/client/netmonitor/test/browser_net_throttle.js
+++ b/devtools/client/netmonitor/test/browser_net_throttle.js
@@ -1,24 +1,24 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Network throttling integration test.
"use strict";
-add_task(function* () {
- yield throttleTest(true);
- yield throttleTest(false);
+add_task(async function () {
+ await throttleTest(true);
+ await throttleTest(false);
});
-function* throttleTest(actuallyThrottle) {
+async function throttleTest(actuallyThrottle) {
requestLongerTimeout(2);
- let { monitor } = yield initNetMonitor(SIMPLE_URL);
+ let { monitor } = await initNetMonitor(SIMPLE_URL);
let { store, windowRequire, connector } = monitor.panelWin;
let { ACTIVITY_TYPE } = windowRequire("devtools/client/netmonitor/src/constants");
let { setPreferences, triggerActivity } = connector;
let {
getSortedRequests,
} = windowRequire("devtools/client/netmonitor/src/selectors/index");
info("Starting test... (actuallyThrottle = " + actuallyThrottle + ")");
@@ -34,33 +34,33 @@ function* throttleTest(actuallyThrottle)
downloadBPSMean: size,
downloadBPSMax: size,
uploadBPSMean: 10000,
uploadBPSMax: 10000,
},
};
info("sending throttle request");
- yield new Promise((resolve) => {
+ await new Promise((resolve) => {
setPreferences(request, response => {
resolve(response);
});
});
let wait = waitForNetworkEvents(monitor, 1);
- yield triggerActivity(ACTIVITY_TYPE.RELOAD.WITH_CACHE_DISABLED);
- yield wait;
+ await triggerActivity(ACTIVITY_TYPE.RELOAD.WITH_CACHE_DISABLED);
+ await wait;
- yield waitUntil(() => {
+ await waitUntil(() => {
let requestItem = getSortedRequests(store.getState()).get(0);
return requestItem && requestItem.eventTimings;
});
let requestItem = getSortedRequests(store.getState()).get(0);
const reportedOneSecond = requestItem.eventTimings.timings.receive > 1000;
if (actuallyThrottle) {
ok(reportedOneSecond, "download reported as taking more than one second");
} else {
ok(!reportedOneSecond, "download reported as taking less than one second");
}
- yield teardown(monitor);
+ await teardown(monitor);
}
--- a/devtools/client/netmonitor/test/browser_net_timeline_ticks.js
+++ b/devtools/client/netmonitor/test/browser_net_timeline_ticks.js
@@ -2,20 +2,20 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if timeline correctly displays interval divisions.
*/
-add_task(function* () {
+add_task(async function () {
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
- let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
+ let { tab, monitor } = await initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { $, $all, NetMonitorView, NetMonitorController } = monitor.panelWin;
let { RequestsMenu } = NetMonitorView;
// Disable transferred size column support for this test.
// Without this, the waterfall only has enough room for one division, which
// would remove most of the value of this test.
@@ -29,17 +29,17 @@ add_task(function* () {
ok($all(".requests-list-timings-division").length == 0,
"No tick labels should be displayed when the frontend is opened.");
ok(!RequestsMenu._canvas, "No canvas should be created when the frontend is opened.");
ok(!RequestsMenu._ctx, "No 2d context should be created when the frontend is opened.");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
// Make sure the DOMContentLoaded and load markers don't interfere with
// this test by removing them and redrawing the waterfall (bug 1224088).
NetMonitorController.NetworkEventsHandler.clearMarkers();
RequestsMenu._flushWaterfallViews(true);
ok(!$("#requests-list-waterfall-label"),
"The timeline label should be hidden after the first request.");
--- a/devtools/client/netmonitor/test/browser_net_timing-division.js
+++ b/devtools/client/netmonitor/test/browser_net_timing-division.js
@@ -2,30 +2,30 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if timing intervals are divided againts seconds when appropriate.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CUSTOM_GET_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL);
info("Starting test... ");
let { document, store, windowRequire } = monitor.panelWin;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
store.dispatch(Actions.batchEnable(false));
let wait = waitForNetworkEvents(monitor, 2);
// Timeout needed for having enough divisions on the time scale.
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests(2, null, 3000);
});
- yield wait;
+ await wait;
let milDivs = document.querySelectorAll(
".requests-list-timings-division[data-division-scale=millisecond]");
let secDivs = document.querySelectorAll(
".requests-list-timings-division[data-division-scale=second]");
let minDivs = document.querySelectorAll(
".requests-list-timings-division[data-division-scale=minute]");
--- a/devtools/client/netmonitor/test/browser_net_truncate.js
+++ b/devtools/client/netmonitor/test/browser_net_truncate.js
@@ -2,36 +2,36 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Verifies that truncated response bodies still have the correct reported size.
*/
-add_task(function* () {
+add_task(async function () {
let { RESPONSE_BODY_LIMIT } = require("devtools/shared/webconsole/network-monitor");
let URL = EXAMPLE_URL + "sjs_truncate-test-server.sjs?limit=" + RESPONSE_BODY_LIMIT;
- let { monitor, tab } = yield initNetMonitor(URL);
+ let { monitor, tab } = await initNetMonitor(URL);
info("Starting test... ");
let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
let { document } = monitor.panelWin;
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
- yield wait;
+ await wait;
// Response content will be updated asynchronously, we should make sure data is updated
// on DOM before asserting.
- yield waitUntil(() => document.querySelector(".request-list-item"));
+ await waitUntil(() => document.querySelector(".request-list-item"));
let item = document.querySelectorAll(".request-list-item")[0];
- yield waitUntil(() => item.querySelector(".requests-list-type").title);
+ await waitUntil(() => item.querySelector(".requests-list-type").title);
let type = item.querySelector(".requests-list-type").textContent;
let fullMimeType = item.querySelector(".requests-list-type").title;
let transferred = item.querySelector(".requests-list-transferred").textContent;
let size = item.querySelector(".requests-list-size").textContent;
is(type, "plain", "Type should be rendered correctly.");
is(fullMimeType, "text/plain; charset=utf-8",
--- a/devtools/client/netmonitor/test/browser_net_waterfall-click.js
+++ b/devtools/client/netmonitor/test/browser_net_waterfall-click.js
@@ -2,31 +2,31 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test that clicking on the waterfall opens the timing sidebar panel.
*/
-add_task(function* () {
- let { tab, monitor } = yield initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
+add_task(async function () {
+ let { tab, monitor } = await initNetMonitor(CONTENT_TYPE_WITHOUT_CACHE_URL);
let { document } = monitor.panelWin;
let onAllEvents = waitForNetworkEvents(monitor, CONTENT_TYPE_WITHOUT_CACHE_REQUESTS);
- yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
+ await ContentTask.spawn(tab.linkedBrowser, {}, async function () {
content.wrappedJSObject.performRequests();
});
- yield onAllEvents;
+ await onAllEvents;
info("Clicking waterfall and waiting for panel update.");
let wait = waitForDOM(document, "#timings-panel");
EventUtils.sendMouseEvent({ type: "mousedown" },
document.querySelectorAll(".requests-list-timings")[0]);
- yield wait;
+ await wait;
ok(document.querySelector("#timings-tab[aria-selected=true]"),
"Timings tab is selected.");
return teardown(monitor);
});
--- a/devtools/client/netmonitor/test/head.js
+++ b/devtools/client/netmonitor/test/head.js
@@ -249,107 +249,107 @@ function startNetworkEventUpdateObserver
}));
updatedTypes.forEach((type) => panelWin.on(type, (event, actor) => {
let key = actor + "-" + event;
finishedQueue[key] = finishedQueue[key] ? finishedQueue[key] - 1 : -1;
}));
}
-function* waitForAllNetworkUpdateEvents() {
+async function waitForAllNetworkUpdateEvents() {
function checkNetworkEventUpdateState() {
for (let key in finishedQueue) {
if (finishedQueue[key] > 0) {
return false;
}
}
return true;
}
info("Wait for completion of all NetworkUpdateEvents packets...");
- yield waitUntil(() => checkNetworkEventUpdateState());
+ await waitUntil(() => checkNetworkEventUpdateState());
finishedQueue = {};
}
function initNetMonitor(url, enableCache) {
info("Initializing a network monitor pane.");
- return Task.spawn(function* () {
- let tab = yield addTab(url);
+ return (async function () {
+ let tab = await addTab(url);
info("Net tab added successfully: " + url);
let target = TargetFactory.forTab(tab);
- yield target.makeRemote();
+ await target.makeRemote();
info("Target remoted.");
- let toolbox = yield gDevTools.showToolbox(target, "netmonitor");
+ let toolbox = await gDevTools.showToolbox(target, "netmonitor");
info("Network monitor pane shown successfully.");
let monitor = toolbox.getCurrentPanel();
startNetworkEventUpdateObserver(monitor.panelWin);
if (!enableCache) {
let panel = monitor.panelWin;
let { store, windowRequire } = panel;
let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
info("Disabling cache and reloading page.");
let requestsDone = waitForAllRequestsFinished(monitor);
let markersDone = waitForTimelineMarkers(monitor);
- yield toggleCache(target, true);
- yield Promise.all([requestsDone, markersDone]);
+ await toggleCache(target, true);
+ await Promise.all([requestsDone, markersDone]);
info("Cache disabled when the current and all future toolboxes are open.");
// Remove any requests generated by the reload while toggling the cache to
// avoid interfering with the test.
isnot([...target.activeConsole.getNetworkEvents()].length, 0,
"Request to reconfigure the tab was recorded.");
info("Clearing requests in the console client.");
target.activeConsole.clearNetworkRequests();
info("Clearing requests in the UI.");
store.dispatch(Actions.clearRequests());
}
return {tab, monitor, toolbox};
- });
+ })();
}
function restartNetMonitor(monitor, newUrl) {
info("Restarting the specified network monitor.");
- return Task.spawn(function* () {
+ return (async function () {
let tab = monitor.toolbox.target.tab;
let url = newUrl || tab.linkedBrowser.currentURI.spec;
- yield waitForAllNetworkUpdateEvents();
+ await waitForAllNetworkUpdateEvents();
info("All pending requests finished.");
let onDestroyed = monitor.once("destroyed");
- yield removeTab(tab);
- yield onDestroyed;
+ await removeTab(tab);
+ await onDestroyed;
return initNetMonitor(url);
- });
+ })();
}
function teardown(monitor) {
info("Destroying the specified network monitor.");
- return Task.spawn(function* () {
+ return (async function () {
let tab = monitor.toolbox.target.tab;
- yield waitForAllNetworkUpdateEvents();
+ await waitForAllNetworkUpdateEvents();
info("All pending requests finished.");
let onDestroyed = monitor.once("destroyed");
- yield removeTab(tab);
- yield onDestroyed;
- });
+ await removeTab(tab);
+ await onDestroyed;
+ })();
}
function waitForNetworkEvents(monitor, getRequests) {
return new Promise((resolve) => {
let panel = monitor.panelWin;
let { getNetworkRequest } = panel.connector;
let networkEvent = 0;
let payloadReady = 0;
@@ -390,17 +390,17 @@ function waitForNetworkEvents(monitor, g
}
}
panel.on(EVENTS.NETWORK_EVENT, onNetworkEvent);
panel.on(EVENTS.PAYLOAD_READY, onPayloadReady);
});
}
-function* verifyRequestItemTarget(document, requestList, requestItem, method,
+function verifyRequestItemTarget(document, requestList, requestItem, method,
url, data = {}) {
info("> Verifying: " + method + " " + url + " " + data.toSource());
let visibleIndex = requestList.indexOf(requestItem);
info("Visible index of item: " + visibleIndex);
let { fuzzyUrl, status, statusText, cause, type, fullMimeType,