tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>