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="/serviceworker/resources/interfaces.js"></script> | 5 <script src="/serviceworker/resources/interfaces.js"></script> |
6 <body> | 6 <body> |
7 <input type=hidden id=thing value=sekrit> | 7 <input type=hidden id=thing value=sekrit> |
8 <script> | 8 <script> |
| 9 add_completion_callback(() => { |
| 10 if (window.testRunner) |
| 11 testRunner.clearMockCredentialManagerResponse(); |
| 12 }); |
| 13 |
9 var c = new PasswordCredential({ | 14 var c = new PasswordCredential({ |
10 id: 'id', | 15 id: 'id', |
11 password: 'pencil', | 16 password: 'pencil', |
12 name: 'name', | 17 name: 'name', |
13 iconURL: 'https://example.com/icon.png' | 18 iconURL: 'https://example.com/icon.png' |
14 }); | 19 }); |
15 | 20 |
16 promise_test(_ => { | 21 promise_test(_ => { |
17 var r = new Request('/', { credentials: c, body: 'this is a body', method: '
POST' }); | 22 var r = new Request('/', { credentials: c, body: 'this is a body', method: '
POST' }); |
18 return r.text().then(t => assert_equals(t, "")); | 23 return r.text().then(t => assert_equals(t, "")); |
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 }); | 338 }); |
334 }, "'additionalData': URLSearchParams properties are properly injected (ordering
matters)."); | 339 }, "'additionalData': URLSearchParams properties are properly injected (ordering
matters)."); |
335 | 340 |
336 promise_test(_ => { | 341 promise_test(_ => { |
337 var id = "id"; | 342 var id = "id"; |
338 var name = "name"; | 343 var name = "name"; |
339 var icon = "http://example.com/"; | 344 var icon = "http://example.com/"; |
340 var password = "pencil"; | 345 var password = "pencil"; |
341 | 346 |
342 if (window.testRunner) | 347 if (window.testRunner) |
343 testRunner.addMockCredentialManagerResponse(id, name, icon, password); | 348 testRunner.setMockCredentialManagerResponse(id, name, icon, password); |
344 | 349 |
345 return navigator.credentials.get({ password: true }) | 350 return navigator.credentials.get({ password: true }) |
346 .then(c => { | 351 .then(c => { |
347 return fetch("./resources/echo-post.php", { credentials: c, method:
"POST" }) | 352 return fetch("./resources/echo-post.php", { credentials: c, method:
"POST" }) |
348 .then(resp => resp.json()) | 353 .then(resp => resp.json()) |
349 .then(j => { | 354 .then(j => { |
350 assert_equals(j.username, 'id'); | 355 assert_equals(j.username, 'id'); |
351 assert_equals(j.password, 'pencil') | 356 assert_equals(j.password, 'pencil') |
352 }); | 357 }); |
353 }); | 358 }); |
354 }, 'fetch() after get()'); | 359 }, 'fetch() after get()'); |
355 | 360 |
356 promise_test(_ => { | 361 promise_test(_ => { |
357 var id = "id"; | 362 var id = "id"; |
358 var name = "name"; | 363 var name = "name"; |
359 var icon = "http://example.com/"; | 364 var icon = "http://example.com/"; |
360 var password = "pencil"; | 365 var password = "pencil"; |
361 | 366 |
362 if (window.testRunner) | 367 if (window.testRunner) |
363 testRunner.addMockCredentialManagerResponse(id, name, icon, password); | 368 testRunner.setMockCredentialManagerResponse(id, name, icon, password); |
364 | 369 |
365 return navigator.credentials.get({ password: true }) | 370 return navigator.credentials.get({ password: true }) |
366 .then(c => { | 371 .then(c => { |
367 | |
368 var fd = new FormData(); | 372 var fd = new FormData(); |
369 fd.append('csrf_token', 'sekrit'); | 373 fd.append('csrf_token', 'sekrit'); |
370 c.additionalData = fd; | 374 c.additionalData = fd; |
371 | 375 |
372 return fetch("./resources/echo-post.php", { credentials: c, method:
"POST" }) | 376 return fetch("./resources/echo-post.php", { credentials: c, method:
"POST" }) |
373 .then(resp => resp.json()) | 377 .then(resp => resp.json()) |
374 .then(j => { | 378 .then(j => { |
375 assert_equals(j.username, 'id'); | 379 assert_equals(j.username, 'id'); |
376 assert_equals(j.password, 'pencil') | 380 assert_equals(j.password, 'pencil') |
377 assert_equals(j.csrf_token, 'sekrit') | 381 assert_equals(j.csrf_token, 'sekrit') |
378 }); | 382 }); |
379 }); | 383 }); |
380 }, 'fetch() after get() with additionalData'); | 384 }, 'fetch() after get() with additionalData'); |
381 | 385 |
382 promise_test(_ => { | 386 promise_test(_ => { |
383 var id = "id"; | 387 var id = "id"; |
384 var name = "name"; | 388 var name = "name"; |
385 var icon = "http://example.com/"; | 389 var icon = "http://example.com/"; |
386 var password = "pencil"; | 390 var password = "pencil"; |
387 | 391 |
388 if (window.testRunner) | 392 if (window.testRunner) |
389 testRunner.addMockCredentialManagerResponse(id, name, icon, password); | 393 testRunner.setMockCredentialManagerResponse(id, name, icon, password); |
390 | 394 |
391 return navigator.credentials.get({ password: true }) | 395 return navigator.credentials.get({ password: true }) |
392 .then(c => { | 396 .then(c => { |
393 var fd = new FormData(); | 397 var fd = new FormData(); |
394 fd.append('csrf_token', document.querySelector('#thing').value); | 398 fd.append('csrf_token', document.querySelector('#thing').value); |
395 c.additionalData = fd; | 399 c.additionalData = fd; |
396 | 400 |
397 return fetch("./resources/echo-post.php", { credentials: c, method:
"POST" }) | 401 return fetch("./resources/echo-post.php", { credentials: c, method:
"POST" }) |
398 .then(resp => resp.json()) | 402 .then(resp => resp.json()) |
399 .then(j => { | 403 .then(j => { |
400 assert_equals(j.username, 'id'); | 404 assert_equals(j.username, 'id'); |
401 assert_equals(j.password, 'pencil') | 405 assert_equals(j.password, 'pencil') |
402 assert_equals(j.csrf_token, 'sekrit') | 406 assert_equals(j.csrf_token, 'sekrit') |
403 }); | 407 }); |
404 }); | 408 }); |
405 }, 'fetch() after get() with additionalData from DOM'); | 409 }, 'fetch() after get() with additionalData from DOM'); |
406 </script> | 410 </script> |
OLD | NEW |