| <!DOCTYPE html> |
| <title>Digital Credential API: get() default behavior checks.</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| promise_test(async (t) => { |
| await promise_rejects_dom( |
| t, |
| "NotSupportedError", |
| navigator.identity.get(), |
| "navigator.identity.get() with no argument." |
| ); |
| |
| await promise_rejects_dom( |
| t, |
| "NotSupportedError", |
| navigator.identity.get({}), |
| "navigator.identity.get() with empty dictionary." |
| ); |
| |
| await promise_rejects_js( |
| t, |
| TypeError, |
| navigator.identity.get({ digital: "wrong type" }), |
| "navigator.identity.get() with bogus digital type" |
| ); |
| |
| await promise_rejects_dom( |
| t, |
| "NotSupportedError", |
| navigator.identity.get({ bogus_key: "bogus" }), |
| "navigator.identity.get() with unknown key (same as passing empty dictionary)." |
| ); |
| |
| await promise_rejects_js( |
| t, |
| TypeError, |
| navigator.identity.get({ digital: { providers: [] } }), |
| "navigator.identity.get() with an empty list of providers" |
| ); |
| |
| await promise_rejects_js( |
| t, |
| TypeError, |
| navigator.identity.get({ |
| digital: { providers: [{ protocol: "bogus protocol", request: {} }] }, |
| }), |
| "navigator.identity.get() with a provider with unknown protocol" |
| ); |
| |
| const controller = new AbortController(); |
| const options = { signal: controller.signal }; |
| |
| controller.abort(); |
| await promise_rejects_dom( |
| t, |
| "AbortError", |
| navigator.identity.get(options), |
| "navigator.identity.get() with abort signal set" |
| ); |
| |
| assert_equals( |
| await navigator.identity.get({ |
| digital: { providers: [{ protocol: "mdoc", request: {} }] }, |
| }), |
| null, |
| "navigator.identity.get() with a valid provider" |
| ); |
| }, "navigator.identity.get() default behavior checks."); |
| </script> |