OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>Credential Manager: PasswordCredential basics.</title> | 2 <title>Credential Manager: PasswordCredential basics.</title> |
3 <script src="../resources/testharness.js"></script> | 3 <script src="../resources/testharness.js"></script> |
4 <script src="../resources/testharnessreport.js"></script> | 4 <script src="../resources/testharnessreport.js"></script> |
5 <script src="resources/interfaces.js"></script> | 5 <script src="resources/interfaces.js"></script> |
6 <script> | 6 <script> |
7 test(function() { | 7 test(function() { |
8 var credential = new PasswordCredential({ | 8 var credential = new PasswordCredential({ |
9 id: 'id', | 9 id: 'id', |
10 password: 'pencil', | 10 password: 'pencil', |
11 name: 'name', | 11 name: 'name', |
12 iconURL: 'https://example.com/icon.png' | 12 iconURL: 'https://example.com/icon.png' |
13 }); | 13 }); |
14 | 14 |
15 verify_interface('PasswordCredential', credential, { | 15 verify_interface('PasswordCredential', credential, { |
16 id: 'string', | 16 id: 'string', |
17 name: 'string', | 17 name: 'string', |
18 iconURL: 'string', | 18 iconURL: 'string', |
19 type: 'string' | 19 type: 'string' |
20 }); | 20 }); |
21 | 21 |
22 assert_equals(credential.id, 'id'); | 22 assert_equals(credential.id, 'id'); |
23 assert_equals(credential.name, 'name'); | 23 assert_equals(credential.name, 'name'); |
24 assert_equals(credential.iconURL, 'https://example.com/icon.png'); | 24 assert_equals(credential.iconURL, 'https://example.com/icon.png'); |
25 assert_equals(credential.type, 'password'); | 25 assert_equals(credential.type, 'password'); |
26 assert_equals(credential.idName, 'username'); | 26 assert_equals(credential.idName, 'username'); |
27 assert_equals(credential.passwordName, 'password'); | 27 assert_equals(credential.passwordName, 'password'); |
28 assert_equals(credential.additionalData, null); | 28 assert_equals(credential.additionalData, null); |
| 29 assert_equals(credential.password, 'pencil'); |
29 }, 'Interfaces and attributes of PasswordCredential'); | 30 }, 'Interfaces and attributes of PasswordCredential'); |
30 | 31 |
31 test(function() { | 32 test(function() { |
32 assert_throws(new SyntaxError(), function () { | 33 assert_throws(new SyntaxError(), function () { |
33 var credential = new PasswordCredential({ | 34 var credential = new PasswordCredential({ |
34 id: 'id', | 35 id: 'id', |
35 password: 'pencil', | 36 password: 'pencil', |
36 name: 'name', | 37 name: 'name', |
37 iconURL: '-' | 38 iconURL: '-' |
38 }); | 39 }); |
39 }); | 40 }); |
40 }, 'Construct a PasswordCredential with an invalid icon URL.'); | 41 }, 'Construct a PasswordCredential with an invalid icon URL.'); |
41 | 42 |
42 test(function() { | 43 test(function() { |
43 var credential = new PasswordCredential({ | 44 var credential = new PasswordCredential({ |
44 id: 'id', | 45 id: 'id', |
45 password: 'pencil', | 46 password: 'pencil', |
46 name: 'name', | 47 name: 'name', |
47 }); | 48 }); |
48 | 49 |
49 assert_equals(credential.id, 'id'); | 50 assert_equals(credential.id, 'id'); |
50 assert_equals(credential.name, 'name'); | 51 assert_equals(credential.name, 'name'); |
51 assert_equals(credential.iconURL, ''); | 52 assert_equals(credential.iconURL, ''); |
52 assert_equals(credential.type, 'password'); | 53 assert_equals(credential.type, 'password'); |
53 assert_equals(credential.idName, 'username'); | 54 assert_equals(credential.idName, 'username'); |
54 assert_equals(credential.passwordName, 'password'); | 55 assert_equals(credential.passwordName, 'password'); |
55 assert_equals(credential.additionalData, null); | 56 assert_equals(credential.additionalData, null); |
| 57 assert_equals(credential.password, 'pencil'); |
56 | 58 |
57 }, 'Construct a PasswordCredential with an empty icon URL.'); | 59 }, 'Construct a PasswordCredential with an empty icon URL.'); |
58 | 60 |
59 test(function() { | 61 test(function() { |
60 var credential = new PasswordCredential({ | 62 var credential = new PasswordCredential({ |
61 id: 'id', | 63 id: 'id', |
62 password: 'pencil', | 64 password: 'pencil', |
63 }); | 65 }); |
64 | 66 |
65 assert_equals(credential.id, 'id'); | 67 assert_equals(credential.id, 'id'); |
66 assert_equals(credential.name, ''); | 68 assert_equals(credential.name, ''); |
67 assert_equals(credential.iconURL, ''); | 69 assert_equals(credential.iconURL, ''); |
68 assert_equals(credential.type, 'password'); | 70 assert_equals(credential.type, 'password'); |
69 assert_equals(credential.idName, 'username'); | 71 assert_equals(credential.idName, 'username'); |
70 assert_equals(credential.passwordName, 'password'); | 72 assert_equals(credential.passwordName, 'password'); |
71 assert_equals(credential.additionalData, null); | 73 assert_equals(credential.additionalData, null); |
| 74 assert_equals(credential.password, 'pencil'); |
72 }, 'Construct a PasswordCredential with an empty name and icon URL.'); | 75 }, 'Construct a PasswordCredential with an empty name and icon URL.'); |
73 | 76 |
74 test(function() { | 77 test(function() { |
75 var credential = new PasswordCredential({ | 78 var credential = new PasswordCredential({ |
76 id: 'id', | 79 id: 'id', |
77 password: 'pencil', | 80 password: 'pencil', |
78 }); | 81 }); |
79 | 82 |
80 credential.idName = 'yay'; | 83 credential.idName = 'yay'; |
81 assert_equals(credential.idName, 'yay'); | 84 assert_equals(credential.idName, 'yay'); |
82 | 85 |
83 credential.passwordName = 'boo'; | 86 credential.passwordName = 'boo'; |
84 assert_equals(credential.passwordName, 'boo'); | 87 assert_equals(credential.passwordName, 'boo'); |
85 | 88 |
86 var additionalData = new FormData(); | 89 var additionalData = new FormData(); |
87 credential.additionalData = additionalData; | 90 credential.additionalData = additionalData; |
88 assert_equals(credential.additionalData, additionalData); | 91 assert_equals(credential.additionalData, additionalData); |
| 92 |
| 93 assert_equals(credential.password, 'pencil'); |
89 }, 'Verify the basics of "idName", "passwordName", and "additionalData"'); | 94 }, 'Verify the basics of "idName", "passwordName", and "additionalData"'); |
90 | 95 |
91 test(function() { | 96 test(function() { |
92 assert_throws(new TypeError(), | 97 assert_throws(new TypeError(), |
93 () => { new PasswordCredential(); }); | 98 () => { new PasswordCredential(); }); |
94 assert_throws(new TypeError(), | 99 assert_throws(new TypeError(), |
95 () => { new PasswordCredential({}); }); | 100 () => { new PasswordCredential({}); }); |
96 assert_throws(new TypeError(), | 101 assert_throws(new TypeError(), |
97 () => { new PasswordCredential({ 'id': undefined }); }); | 102 () => { new PasswordCredential({ 'id': undefined }); }); |
98 assert_throws(new TypeError(), | 103 assert_throws(new TypeError(), |
(...skipping 17 matching lines...) Expand all Loading... |
116 assert_equals(credential.idName, 'theId'); | 121 assert_equals(credential.idName, 'theId'); |
117 assert_equals(credential.passwordName, 'thePassword'); | 122 assert_equals(credential.passwordName, 'thePassword'); |
118 assert_equals(credential.type, 'password'); | 123 assert_equals(credential.type, 'password'); |
119 | 124 |
120 assert_equals(credential.additionalData.get('theId'), 'musterman'); | 125 assert_equals(credential.additionalData.get('theId'), 'musterman'); |
121 assert_equals(credential.additionalData.get('thePassword'), 'sekrit'); | 126 assert_equals(credential.additionalData.get('thePassword'), 'sekrit'); |
122 assert_equals(credential.additionalData.get('theIcon'), 'https://example.com
/photo'); | 127 assert_equals(credential.additionalData.get('theIcon'), 'https://example.com
/photo'); |
123 assert_equals(credential.additionalData.get('theName'), 'friendly name'); | 128 assert_equals(credential.additionalData.get('theName'), 'friendly name'); |
124 assert_equals(credential.additionalData.get('theExtraField'), 'extra'); | 129 assert_equals(credential.additionalData.get('theExtraField'), 'extra'); |
125 | 130 |
| 131 assert_equals(credential.password, 'sekrit'); |
| 132 |
126 var password = f.querySelector('[name=thePassword]'); | 133 var password = f.querySelector('[name=thePassword]'); |
127 password.value = ""; | 134 password.value = ""; |
128 assert_throws(new TypeError(), _ => new PasswordCredential(f)); | 135 assert_throws(new TypeError(), _ => new PasswordCredential(f)); |
129 f.removeChild(password); | 136 f.removeChild(password); |
130 assert_throws(new TypeError(), _ => new PasswordCredential(f)); | 137 assert_throws(new TypeError(), _ => new PasswordCredential(f)); |
131 | 138 |
132 // Reset the password, do the same test for the ID. | 139 // Reset the password, do the same test for the ID. |
133 f.appendChild(password); | 140 f.appendChild(password); |
134 password.value = "sekrit"; | 141 password.value = "sekrit"; |
135 credential = new PasswordCredential(f); | 142 credential = new PasswordCredential(f); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 + "<input type='text' name='thePassword' value='sekrit' autocomplete='cu
rrent-password value1'>" | 196 + "<input type='text' name='thePassword' value='sekrit' autocomplete='cu
rrent-password value1'>" |
190 + "<input type='text' name='theIcon' value='https://example.com/photo' a
utocomplete='photo value2'>" | 197 + "<input type='text' name='theIcon' value='https://example.com/photo' a
utocomplete='photo value2'>" |
191 + "<input type='text' name='theExtraField' value='extra'>" | 198 + "<input type='text' name='theExtraField' value='extra'>" |
192 + "<input type='text' name='theName' value='friendly name' autocomplete=
'name value3'>"; | 199 + "<input type='text' name='theName' value='friendly name' autocomplete=
'name value3'>"; |
193 | 200 |
194 var credential = new PasswordCredential(f); | 201 var credential = new PasswordCredential(f); |
195 assert_true(credential.additionalData instanceof URLSearchParams); | 202 assert_true(credential.additionalData instanceof URLSearchParams); |
196 verify_form_credential(f, credential); | 203 verify_form_credential(f, credential); |
197 }, 'PasswordCredential creation from `HTMLFormElement` with multiple autocomplet
e attributes'); | 204 }, 'PasswordCredential creation from `HTMLFormElement` with multiple autocomplet
e attributes'); |
198 </script> | 205 </script> |
OLD | NEW |