tor-browser

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

createcredential-abort.https.html (3165B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>WebAuthn navigator.credentials.create() 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="/resources/testdriver.js"></script>
      8 <script src="/resources/testdriver-vendor.js"></script>
      9 <script src=helpers.js></script>
     10 <body></body>
     11 <script>
     12 "use strict";
     13 
     14 virtualAuthenticatorPromiseTest(async t => {
     15  const abortController = new AbortController();
     16  const signal = abortController.signal;
     17  abortController.abort();
     18  const promise = createCredential({
     19    options: {
     20      signal: signal,
     21    }
     22  });
     23  return promise_rejects_dom(t, "AbortError", promise);
     24 }, {
     25  protocol: "ctap1/u2f",
     26  transport: "usb",
     27  isUserConsenting: false,
     28 }, "navigator.credentials.create() after abort without reason");
     29 
     30 virtualAuthenticatorPromiseTest(async t => {
     31  const abortController = new AbortController();
     32  const signal = abortController.signal;
     33  const promise = createCredential({
     34    options: {
     35      signal: signal,
     36    }
     37  });
     38  abortController.abort();
     39  return promise_rejects_dom(t, "AbortError", promise);
     40 }, {
     41  protocol: "ctap1/u2f",
     42  transport: "usb",
     43  isUserConsenting: false,
     44 }, "navigator.credentials.create() before abort without reason");
     45 
     46 virtualAuthenticatorPromiseTest(async t => {
     47  const abortController = new AbortController();
     48  const signal = abortController.signal;
     49  abortController.abort("CustomError");
     50  const promise = createCredential({
     51    options: {
     52      signal: signal,
     53    }
     54  });
     55  return promise_rejects_exactly(t, "CustomError", promise);
     56 }, {
     57  protocol: "ctap1/u2f",
     58  transport: "usb",
     59  isUserConsenting: false,
     60 }, "navigator.credentials.create() after abort reason");
     61 
     62 virtualAuthenticatorPromiseTest(async t => {
     63  const abortController = new AbortController();
     64  const signal = abortController.signal;
     65  const promise = createCredential({
     66    options: {
     67      signal: signal,
     68    }
     69  });
     70  abortController.abort("CustomError");
     71  return promise_rejects_exactly(t, "CustomError", promise);
     72 }, {
     73  protocol: "ctap1/u2f",
     74  transport: "usb",
     75  isUserConsenting: false,
     76 }, "navigator.credentials.create() before abort reason");
     77 
     78 virtualAuthenticatorPromiseTest(async t => {
     79  const abortController = new AbortController();
     80  const signal = abortController.signal;
     81  abortController.abort(new Error('error'));
     82  const promise = createCredential({
     83    options: {
     84      signal: signal,
     85    }
     86  });
     87  return promise_rejects_js(t, Error, promise);
     88 }, {
     89  protocol: "ctap1/u2f",
     90  transport: "usb",
     91  isUserConsenting: false,
     92 }, "navigator.credentials.create() after abort reason with Error");
     93 
     94 virtualAuthenticatorPromiseTest(async t => {
     95  const abortController = new AbortController();
     96  const signal = abortController.signal;
     97  const promise = createCredential({
     98    options: {
     99      signal: signal,
    100    }
    101  });
    102  abortController.abort(new Error('error'));
    103  return promise_rejects_js(t, Error, promise);
    104 }, {
    105  protocol: "ctap1/u2f",
    106  transport: "usb",
    107  isUserConsenting: false,
    108 }, "navigator.credentials.create() before abort reason with Error");
    109 </script>