forked from mirrors/gecko-dev
58 lines
1.7 KiB
JavaScript
58 lines
1.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
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);
|
|
let { document, EVENTS, NetMonitorView } = monitor.panelWin;
|
|
|
|
NetMonitorView.RequestsMenu.lazyUpdate = false;
|
|
|
|
info("Requesting a resource that has a certificate problem.");
|
|
|
|
let wait = waitForSecurityBrokenNetworkEvent();
|
|
yield ContentTask.spawn(tab.linkedBrowser, {}, function* () {
|
|
content.wrappedJSObject.performRequests(1, "https://nocert.example.com");
|
|
});
|
|
yield wait;
|
|
|
|
wait = waitForDOM(document, "#security-panel");
|
|
EventUtils.sendMouseEvent({ type: "mousedown" },
|
|
document.querySelector(".network-details-panel-toggle"));
|
|
document.querySelector("#security-tab").click();
|
|
yield wait;
|
|
|
|
let errormsg = document.querySelector(".security-info-value");
|
|
isnot(errormsg.textContent, "", "Error message is not empty.");
|
|
|
|
return teardown(monitor);
|
|
|
|
/**
|
|
* Returns a promise that's resolved once a request with security issues is
|
|
* completed.
|
|
*/
|
|
function waitForSecurityBrokenNetworkEvent() {
|
|
let awaitedEvents = [
|
|
"UPDATING_REQUEST_HEADERS",
|
|
"RECEIVED_REQUEST_HEADERS",
|
|
"UPDATING_REQUEST_COOKIES",
|
|
"RECEIVED_REQUEST_COOKIES",
|
|
"STARTED_RECEIVING_RESPONSE",
|
|
"UPDATING_RESPONSE_CONTENT",
|
|
"RECEIVED_RESPONSE_CONTENT",
|
|
"UPDATING_EVENT_TIMINGS",
|
|
"RECEIVED_EVENT_TIMINGS",
|
|
];
|
|
|
|
let promises = awaitedEvents.map((event) => {
|
|
return monitor.panelWin.once(EVENTS[event]);
|
|
});
|
|
|
|
return Promise.all(promises);
|
|
}
|
|
});
|