get_named_cookie.sub.html (4139B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>TestDriver get_named_cookie method HTTP</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/resources/testdriver.js"></script> 7 <script src="/resources/testdriver-vendor.js"></script> 8 <script> 9 promise_test(async t => { 10 t.add_cleanup(test_driver.delete_all_cookies); 11 const kTenDaysFromNow = new Date(Date.now() + 10 * 24 * 60 * 60 * 1000); 12 document.cookie = "test0=0"; 13 document.cookie = `test1=1; Expires=${kTenDaysFromNow.toUTCString()}`; 14 document.cookie = "test2=2; Path=/"; 15 // document.cookie = "test3=3; HttpOnly"; This is set in the headers file. 16 document.cookie = "test4=4; Secure"; 17 document.cookie = "test5=5; SameSite=Strict"; 18 document.cookie = "test6=6; SameSite=None; Secure"; 19 document.cookie = "test7=7; SameSite=Lax"; 20 21 // test0 22 let cookie = await test_driver.get_named_cookie("test0"); 23 assert_equals(cookie["name"], "test0"); 24 assert_equals(cookie["value"], "0"); 25 assert_equals(cookie["path"], "/infrastructure/testdriver"); 26 assert_equals(cookie["domain"], "{{host}}"); 27 assert_equals(cookie["secure"], false); 28 assert_equals(cookie["httpOnly"], false); 29 assert_equals(cookie["expiry"], undefined); 30 // The 'default lax' behavior varies by browser. 31 // assert_equals(cookie["sameSite"], "Lax"); 32 33 // test1 [Expires in 10 days] 34 cookie = await test_driver.get_named_cookie("test1"); 35 assert_equals(cookie["name"], "test1"); 36 assert_equals(cookie["value"], "1"); 37 assert_equals(cookie["path"], "/infrastructure/testdriver"); 38 assert_equals(cookie["domain"], "{{host}}"); 39 assert_equals(cookie["secure"], false); 40 assert_equals(cookie["httpOnly"], false); 41 assert_equals(cookie["expiry"], Math.floor(kTenDaysFromNow.getTime()/1000)); 42 // The 'default lax' behavior varies by browser. 43 // assert_equals(cookie["sameSite"], "Lax"); 44 45 // test2 [Path /] 46 cookie = await test_driver.get_named_cookie("test2"); 47 assert_equals(cookie["name"], "test2"); 48 assert_equals(cookie["value"], "2"); 49 assert_equals(cookie["path"], "/"); 50 assert_equals(cookie["domain"], "{{host}}"); 51 assert_equals(cookie["secure"], false); 52 assert_equals(cookie["httpOnly"], false); 53 assert_equals(cookie["expiry"], undefined); 54 // The 'default lax' behavior varies by browser. 55 // assert_equals(cookie["sameSite"], "Lax"); 56 57 // test3 [HttpOnly] 58 cookie = await test_driver.get_named_cookie("test3"); 59 assert_equals(cookie["name"], "test3"); 60 assert_equals(cookie["value"], "3"); 61 assert_equals(cookie["path"], "/infrastructure/testdriver"); 62 assert_equals(cookie["domain"], "{{host}}"); 63 assert_equals(cookie["secure"], false); 64 assert_equals(cookie["httpOnly"], true); 65 assert_equals(cookie["expiry"], undefined); 66 // The 'default lax' behavior varies by browser. 67 // assert_equals(cookie["sameSite"], "Lax"); 68 69 // test4 [Secure] Omitted 70 try { 71 await test_driver.get_named_cookie("test4"); 72 } catch(e) { 73 assert_equals(e.message, "no such cookie"); 74 } 75 76 // test5 [SameSite Strict] 77 cookie = await test_driver.get_named_cookie("test5"); 78 assert_equals(cookie["name"], "test5"); 79 assert_equals(cookie["value"], "5"); 80 assert_equals(cookie["path"], "/infrastructure/testdriver"); 81 assert_equals(cookie["domain"], "{{host}}"); 82 assert_equals(cookie["secure"], false); 83 assert_equals(cookie["httpOnly"], false); 84 assert_equals(cookie["expiry"], undefined); 85 assert_equals(cookie["sameSite"], "Strict"); 86 87 // test6 [SameSite None] Omitted 88 try { 89 await test_driver.get_named_cookie("test6"); 90 } catch(e) { 91 assert_equals(e.message, "no such cookie"); 92 } 93 94 // test7 [SameSite Strict] 95 cookie = await test_driver.get_named_cookie("test7"); 96 assert_equals(cookie["name"], "test7"); 97 assert_equals(cookie["value"], "7"); 98 assert_equals(cookie["path"], "/infrastructure/testdriver"); 99 assert_equals(cookie["domain"], "{{host}}"); 100 assert_equals(cookie["secure"], false); 101 assert_equals(cookie["httpOnly"], false); 102 assert_equals(cookie["expiry"], undefined); 103 assert_equals(cookie["sameSite"], "Lax"); 104 }, "Get Named HTTP cookie"); 105 </script>