<!DOCTYPE html>
<meta charset="utf-8">
<title>navigator.credentials.create() largeBlob extension tests with authenticator support</title>
<meta name="timeout" content="long">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src=helpers.js></script>
<body></body>
<script>
standardSetup(function() {
  "use strict";

  promise_test(async t => {
    const credential = await createCredential({
      options: {
        publicKey: {
          extensions: {
            minPinLength: true,
          },
        },
      },
    });
    // The extension results will be in the authenticator outputs.
    assert_true(new Uint8Array(credential.response.getAuthenticatorData())
                    .toString()
                    .includes(new TextEncoder()
                                  .encode("minPinLength")
                                  .toString()));
  }, "navigator.credentials.create() with minPinLength requested");
}, {
  protocol: "ctap2_1",
  extensions: ["minPinLength"],
});
</script>
