| <!DOCTYPE html> |
| <title>Credential Manager: PublicKeyCredential basics.</title> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script type="module"> |
| import {AuthenticatorAttachment} from '/gen/third_party/blink/public/mojom/webauthn/authenticator.mojom.m.js'; |
| import {TestAuthenticatorManager} from './resources/virtual-navigator-credentials.js'; |
| |
| if (document.location.host != "subdomain.example.test:8443") { |
| document.location = "https://subdomain.example.test:8443/credentialmanager/publickeycredential-basics.html"; |
| promise_test(_ => new Promise(_ => {}), "Stall tests on the wrong host."); |
| } |
| |
| const manager = new TestAuthenticatorManager; |
| |
| promise_test(async _ => { |
| assert_false(await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()); |
| }, "isUserVerifyingPlatformAuthenticatorAvailable() is false if there are no platform authenticators."); |
| |
| promise_test(async _ => { |
| await manager.createAuthenticator({ |
| attachment: AuthenticatorAttachment.PLATFORM |
| }); |
| assert_equals((await manager.authenticators()).length, 1); |
| assert_true(await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()); |
| }, "isUserVerifyingPlatformAuthenticatorAvailable() is true if there are platform authenticators."); |
| |
| promise_test(t => { |
| return manager.clearAuthenticators(); |
| }, "Clean up testing environment."); |
| </script> |