Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
/* Test that the UI for imported root certificates shows up correctly in the identity popup.
*/
const TEST_PATH = getRootDirectory(gTestPath).replace(
);
// This test is incredibly simple, because our test framework already
// imports root certificates by default, so we just visit example.com
// and verify that the custom root certificates UI is visible.
add_task(async function test_https() {
await BrowserTestUtils.withNewTab("https://example.com", async function () {
let promisePanelOpen = BrowserTestUtils.waitForEvent(
window,
"popupshown",
true,
event => event.target == gIdentityHandler._identityPopup
);
gIdentityHandler._identityIconBox.click();
await promisePanelOpen;
let customRootWarning = document.getElementById(
"identity-popup-security-decription-custom-root"
);
ok(
BrowserTestUtils.isVisible(customRootWarning),
"custom root warning is visible"
);
let securityView = document.getElementById("identity-popup-securityView");
let shown = BrowserTestUtils.waitForEvent(securityView, "ViewShown");
document.getElementById("identity-popup-security-button").click();
await shown;
let subPanelInfo = document.getElementById(
"identity-popup-content-verifier-unknown"
);
ok(
BrowserTestUtils.isVisible(subPanelInfo),
"custom root warning in sub panel is visible"
);
});
});
// Also check that there are conditions where this isn't shown.
add_task(async function test_http() {
// eslint-disable-next-line @microsoft/sdl/no-insecure-url
await BrowserTestUtils.withNewTab("http://example.com", async function () {
let promisePanelOpen = BrowserTestUtils.waitForEvent(
window,
"popupshown",
true,
event => event.target == gIdentityHandler._identityPopup
);
gIdentityHandler._identityIconBox.click();
await promisePanelOpen;
let customRootWarning = document.getElementById(
"identity-popup-security-decription-custom-root"
);
ok(
BrowserTestUtils.isHidden(customRootWarning),
"custom root warning is hidden"
);
let securityView = document.getElementById("identity-popup-securityView");
let shown = BrowserTestUtils.waitForEvent(securityView, "ViewShown");
document.getElementById("identity-popup-security-button").click();
await shown;
let subPanelInfo = document.getElementById(
"identity-popup-content-verifier-unknown"
);
ok(
BrowserTestUtils.isHidden(subPanelInfo),
"custom root warning in sub panel is hidden"
);
});
});