forked from mirrors/gecko-dev
57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
var doc, tab;
|
|
|
|
add_setup(async function () {
|
|
info("Starting about:webauthn");
|
|
tab = await BrowserTestUtils.openNewForegroundTab({
|
|
gBrowser,
|
|
opening: "about:webauthn",
|
|
waitForLoad: true,
|
|
});
|
|
|
|
doc = tab.linkedBrowser.contentDocument;
|
|
});
|
|
|
|
registerCleanupFunction(async function () {
|
|
// Close tab.
|
|
await BrowserTestUtils.removeTab(tab);
|
|
});
|
|
|
|
add_task(async function verify_page_no_token() {
|
|
let info_text = doc.getElementById("info-text-div");
|
|
is(info_text.hidden, false, "info-text-div should be visible");
|
|
let categories = doc.getElementById("categories");
|
|
is(categories.hidden, false, "categories-sidebar should be invisible");
|
|
let dev_info = doc.getElementById("info-tab-button");
|
|
is(
|
|
dev_info.getAttribute("selected"),
|
|
"true",
|
|
"token-info-section not selected by default"
|
|
);
|
|
let ctap2_info = doc.getElementById("ctap2-token-info");
|
|
is(ctap2_info.style.display, "none", "ctap2-info-table is visible");
|
|
});
|
|
|
|
add_task(async function verify_no_auth_info() {
|
|
let field = doc.getElementById("info-text-field");
|
|
let promise = BrowserTestUtils.waitForMutationCondition(
|
|
field,
|
|
{ attributes: true, attributeFilter: ["data-l10n-id"] },
|
|
() =>
|
|
field.getAttribute("data-l10n-id") ===
|
|
"about-webauthn-text-non-ctap2-device"
|
|
);
|
|
Services.obs.notifyObservers(
|
|
null,
|
|
"about-webauthn-prompt",
|
|
JSON.stringify({ type: "selected-device", auth_info: null })
|
|
);
|
|
await promise;
|
|
|
|
let info_text = doc.getElementById("info-text-div");
|
|
is(info_text.hidden, false);
|
|
});
|