| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>WebAuthn navigator.credentials.get() abort Tests</title> |
| <meta name="timeout" content="long"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src=helpers.js></script> |
| <body></body> |
| <script> |
| "use strict"; |
| |
| const getParams = { |
| publicKey: { |
| id: 'id', |
| challenge: new Uint8Array(), |
| } |
| }; |
| |
| promise_test(async t => { |
| const abortController = new AbortController(); |
| abortController.abort(); |
| getParams.signal = abortController.signal; |
| const promise = navigator.credentials.get(getParams); |
| return promise_rejects_dom(t, "AbortError", promise); |
| }, "navigator.credentials.get() after abort without reason"); |
| |
| promise_test(async t => { |
| const abortController = new AbortController(); |
| getParams.signal = abortController.signal; |
| const promise = navigator.credentials.get(getParams); |
| abortController.abort(); |
| return promise_rejects_dom(t, "AbortError", promise); |
| }, "navigator.credentials.get() before abort without reason"); |
| |
| promise_test(async t => { |
| const abortController = new AbortController(); |
| abortController.abort("CustomError"); |
| getParams.signal = abortController.signal; |
| const promise = navigator.credentials.get(getParams); |
| return promise_rejects_exactly(t, "CustomError", promise); |
| }, "navigator.credentials.get() after abort reason"); |
| |
| promise_test(async t => { |
| const abortController = new AbortController(); |
| getParams.signal = abortController.signal; |
| const promise = navigator.credentials.get(getParams); |
| abortController.abort("CustomError"); |
| return promise_rejects_exactly(t, "CustomError", promise); |
| }, "navigator.credentials.get() before abort reason"); |
| |
| promise_test(async t => { |
| const abortController = new AbortController(); |
| abortController.abort(new Error('error')); |
| getParams.signal = abortController.signal; |
| const promise = navigator.credentials.get(getParams); |
| return promise_rejects_js(t, Error, promise); |
| }, "navigator.credentials.get() after abort reason with Error"); |
| |
| promise_test(async t => { |
| const abortController = new AbortController(); |
| getParams.signal = abortController.signal; |
| const promise = navigator.credentials.get(getParams); |
| abortController.abort(new Error('error')); |
| return promise_rejects_js(t, Error, promise); |
| }, "navigator.credentials.get() before abort reason with Error"); |
| </script> |