forked from mirrors/gecko-dev
195 lines
4.7 KiB
JavaScript
195 lines
4.7 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;
|
|
let ops = {
|
|
credMgmt: true,
|
|
clientPin: true,
|
|
bioEnroll: true,
|
|
};
|
|
send_auth_info_and_check_categories(doc, ops);
|
|
});
|
|
|
|
registerCleanupFunction(async function () {
|
|
// Close tab.
|
|
await BrowserTestUtils.removeTab(tab);
|
|
});
|
|
|
|
add_task(async function moving_up_and_down() {
|
|
doc.getElementById("info-tab-button").focus();
|
|
[
|
|
["UP", "DOWN"],
|
|
["LEFT", "RIGHT"],
|
|
].forEach(dirs => {
|
|
let up = dirs[0];
|
|
let down = dirs[1];
|
|
EventUtils.sendKey(down);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("pin-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
EventUtils.sendKey(down);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("credentials-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
EventUtils.sendKey(down);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("bio-enrollments-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
// Trying to go down further should do nothing
|
|
EventUtils.sendKey(down);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("bio-enrollments-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
EventUtils.sendKey(down);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("bio-enrollments-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
// Going back up again
|
|
EventUtils.sendKey(up);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("credentials-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
EventUtils.sendKey(up);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("pin-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
EventUtils.sendKey(up);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("info-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
// Trying to go up further should do nothing
|
|
EventUtils.sendKey(up);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("info-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
EventUtils.sendKey(up);
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("info-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
});
|
|
});
|
|
|
|
add_task(async function switching_sections() {
|
|
doc.getElementById("info-tab-button").focus();
|
|
EventUtils.sendKey("DOWN"); // Pin section
|
|
EventUtils.sendKey("DOWN"); // Credentials section
|
|
EventUtils.sendKey("RETURN");
|
|
|
|
let credentials_section = doc.getElementById("credential-management-section");
|
|
isnot(
|
|
credentials_section.style.display,
|
|
"none",
|
|
"credentials section not visible"
|
|
);
|
|
|
|
EventUtils.sendKey("UP"); // PIN section
|
|
EventUtils.sendKey("RETURN");
|
|
|
|
let pin_section = doc.getElementById("set-change-pin-section");
|
|
isnot(pin_section.style.display, "none", "pin section not visible");
|
|
|
|
EventUtils.sendKey("DOWN"); // Credentials section
|
|
EventUtils.sendChar(" "); // Try using Space instead of Return
|
|
|
|
isnot(
|
|
credentials_section.style.display,
|
|
"none",
|
|
"credentials section not visible"
|
|
);
|
|
});
|
|
|
|
add_task(async function jumping_sections() {
|
|
doc.getElementById("info-tab-button").focus();
|
|
EventUtils.sendKey("DOWN"); // Pin section
|
|
EventUtils.sendKey("DOWN"); // Credentials section
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("credentials-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
EventUtils.sendKey("HOME");
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("info-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
// Another hit of the Home-key should change nothing
|
|
EventUtils.sendKey("HOME");
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("info-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
EventUtils.sendKey("END");
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("bio-enrollments-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
EventUtils.sendKey("HOME");
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("info-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
EventUtils.sendKey("DOWN"); // Pin section
|
|
EventUtils.sendKey("DOWN"); // Credentials section
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("credentials-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
EventUtils.sendKey("END");
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("bio-enrollments-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
|
|
// Another hit of the "End"-key should change nothing
|
|
EventUtils.sendKey("END");
|
|
is(
|
|
doc.activeElement,
|
|
doc.getElementById("bio-enrollments-tab-button"),
|
|
"Wrong element active"
|
|
);
|
|
});
|