1
0
Fork 0
firefox/testing/web-platform/tests/credential-management/credentialscontainer-get-basics.https.html
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

84 lines
2.4 KiB
HTML

<!DOCTYPE html>
<title>Credential Management API: get() basics.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async (t) => {
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get()
);
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get({})
);
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get({ x: "y" })
);
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get({ x: "y", y: "z" })
);
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get({ x: "y" })
);
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get({ mediation: "required" })
);
const abortController = new AbortController();
const { signal } = abortController;
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get({ signal })
);
await promise_rejects_dom(
t,
"NotSupportedError",
navigator.credentials.get({ signal, mediation: "required" })
);
}, "Calling navigator.credentials.get() without a valid matching interface.");
promise_test(function(t) {
const controller = new AbortController();
controller.abort("custom reason");
return promise_rejects_exactly(t, "custom reason",
navigator.credentials.get({ signal: controller.signal }));
}, "navigator.credentials.get() aborted with custom reason");
promise_test(async function(t) {
const reasons = [{}, [], new Error("custom error")];
for (let reason of reasons) {
const result = navigator.credentials.get({ signal: AbortSignal.abort(reason) });
await promise_rejects_exactly(t, reason, result);
}
}, "navigator.credentials.get() aborted with different objects");
promise_test(function(t) {
const error = new Error("custom error");
const controller = new AbortController();
const result = navigator.credentials.get({ signal: controller.signal });
controller.abort(error); // aborted after the promise is created
return promise_rejects_exactly(t, error, result);
}, "navigator.credentials.get() rejects when aborted after the promise creation");
</script>