OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <title>Credential Management API: create() basics.</title> |
| 3 <script src="/resources/testharness.js"></script> |
| 4 <script src="/resources/testharnessreport.js"></script> |
| 5 <script> |
| 6 promise_test(function(t) { |
| 7 return promise_rejects(t, "NotSupportedError", |
| 8 navigator.credentials.create()); |
| 9 }, "navigator.credentials.create() with no argument."); |
| 10 |
| 11 promise_test(function(t) { |
| 12 return promise_rejects(t, "NotSupportedError", |
| 13 navigator.credentials.create({})); |
| 14 }, "navigator.credentials.create() with empty argument."); |
| 15 |
| 16 promise_test(function(t) { |
| 17 var credential_data = { |
| 18 id: 'id', |
| 19 password: 'pencil', |
| 20 }; |
| 21 |
| 22 return navigator.credentials.create({password: credential_data}) |
| 23 .then(function(credential) { |
| 24 assert_equals(credential.id, 'id'); |
| 25 assert_equals(credential.name, ''); |
| 26 assert_equals(credential.iconURL, ''); |
| 27 assert_equals(credential.type, 'password'); |
| 28 // TODO(jdoerrie): Add checks for 'credential.password'. |
| 29 }); |
| 30 }, "navigator.credentials.create() with valid PasswordCredentialData"); |
| 31 |
| 32 promise_test(function(t) { |
| 33 var f = document.createElement('form'); |
| 34 f.innerHTML = "<input type='text' name='theId' value='musterman' autocomplet
e='username'>" |
| 35 + "<input type='text' name='thePassword' value='sekrit' autocomplete='cu
rrent-password'>" |
| 36 + "<input type='text' name='theIcon' value='https://example.com/photo' a
utocomplete='photo'>" |
| 37 + "<input type='text' name='theExtraField' value='extra'>" |
| 38 + "<input type='text' name='theName' value='friendly name' autocomplete=
'name'>"; |
| 39 |
| 40 return navigator.credentials.create({password: f}) |
| 41 .then(function(credential) { |
| 42 assert_equals(credential.id, 'musterman'); |
| 43 assert_equals(credential.name, 'friendly name'); |
| 44 assert_equals(credential.iconURL, 'https://example.com/photo'); |
| 45 assert_equals(credential.type, 'password'); |
| 46 }); |
| 47 }, "navigator.credentials.create() with valid HTMLFormElement"); |
| 48 |
| 49 promise_test(function(t) { |
| 50 return promise_rejects(t, new TypeError(), |
| 51 navigator.credentials.create({password: "bogus password data"})); |
| 52 }, "navigator.credentials.create() with bogus password data"); |
| 53 |
| 54 promise_test(function(t) { |
| 55 var federated_data = { |
| 56 id: 'id', |
| 57 provider: 'https://example.com/', |
| 58 }; |
| 59 |
| 60 return navigator.credentials.create({federated: federated_data}) |
| 61 .then(function(credential) { |
| 62 assert_equals(credential.id, 'id'); |
| 63 assert_equals(credential.name, ''); |
| 64 assert_equals(credential.iconURL, ''); |
| 65 assert_equals(credential.type, 'federated'); |
| 66 }); |
| 67 }, "navigator.credentials.create() with valid FederatedCredentialData"); |
| 68 |
| 69 promise_test(function(t) { |
| 70 return promise_rejects(t, new TypeError(), |
| 71 navigator.credentials.create({federated: "bogus federated data"})); |
| 72 }, "navigator.credentials.create() with bogus federated data"); |
| 73 |
| 74 promise_test(function(t) { |
| 75 var credential_data = { |
| 76 id: 'id', |
| 77 password: 'pencil', |
| 78 }; |
| 79 |
| 80 var federated_data = { |
| 81 id: 'id', |
| 82 provider: 'https://example.com/', |
| 83 }; |
| 84 |
| 85 return promise_rejects(t, "NotSupportedError", |
| 86 navigator.credentials.create({ |
| 87 password: credential_data, |
| 88 federated: federated_data, |
| 89 })); |
| 90 }, "navigator.credentials.create() with both PasswordCredentialData and Federate
dCredentialData"); |
| 91 |
| 92 promise_test(function(t) { |
| 93 return promise_rejects(t, new TypeError(), |
| 94 navigator.credentials.create({ |
| 95 password: "bogus password data", |
| 96 federated: "bogus federated data", |
| 97 })); |
| 98 }, "navigator.credentials.create() with bogus password and federated data"); |
| 99 |
| 100 promise_test(function(t) { |
| 101 return promise_rejects(t, "NotSupportedError", |
| 102 navigator.credentials.create({bogus_key: "bogus data"})); |
| 103 }, "navigator.credentials.create() with bogus data"); |
| 104 </script> |
OLD | NEW |