getcredential-abort.https.html (2469B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>WebAuthn navigator.credentials.get() abort Tests</title> 4 <meta name="timeout" content="long"> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src=helpers.js></script> 8 <body></body> 9 <script> 10 "use strict"; 11 12 const getParams = { 13 publicKey: { 14 id: 'id', 15 challenge: new Uint8Array(), 16 } 17 }; 18 19 promise_test(async t => { 20 const abortController = new AbortController(); 21 abortController.abort(); 22 getParams.signal = abortController.signal; 23 const promise = navigator.credentials.get(getParams); 24 return promise_rejects_dom(t, "AbortError", promise); 25 }, "navigator.credentials.get() after abort without reason"); 26 27 promise_test(async t => { 28 const abortController = new AbortController(); 29 getParams.signal = abortController.signal; 30 const promise = navigator.credentials.get(getParams); 31 abortController.abort(); 32 return promise_rejects_dom(t, "AbortError", promise); 33 }, "navigator.credentials.get() before abort without reason"); 34 35 promise_test(async t => { 36 const abortController = new AbortController(); 37 abortController.abort("CustomError"); 38 getParams.signal = abortController.signal; 39 const promise = navigator.credentials.get(getParams); 40 return promise_rejects_exactly(t, "CustomError", promise); 41 }, "navigator.credentials.get() after abort reason"); 42 43 promise_test(async t => { 44 const abortController = new AbortController(); 45 getParams.signal = abortController.signal; 46 const promise = navigator.credentials.get(getParams); 47 abortController.abort("CustomError"); 48 return promise_rejects_exactly(t, "CustomError", promise); 49 }, "navigator.credentials.get() before abort reason"); 50 51 promise_test(async t => { 52 const abortController = new AbortController(); 53 abortController.abort(new Error('error')); 54 getParams.signal = abortController.signal; 55 const promise = navigator.credentials.get(getParams); 56 return promise_rejects_js(t, Error, promise); 57 }, "navigator.credentials.get() after abort reason with Error"); 58 59 promise_test(async t => { 60 const abortController = new AbortController(); 61 getParams.signal = abortController.signal; 62 const promise = navigator.credentials.get(getParams); 63 abortController.abort(new Error('error')); 64 return promise_rejects_js(t, Error, promise); 65 }, "navigator.credentials.get() before abort reason with Error"); 66 </script>