tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

get_all_cookies.sub.html (4518B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>TestDriver get_all_cookies method in 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  const cookies = await test_driver.get_all_cookies();
     21  assert_equals(cookies.length, 6);
     22  let cookieMap = new Map();
     23  for (const cookie of cookies) {
     24    cookieMap.set(cookie["name"], cookie);
     25  }
     26 
     27  // test0
     28  assert_equals(cookieMap.get("test0")["name"], "test0");
     29  assert_equals(cookieMap.get("test0")["value"], "0");
     30  assert_equals(cookieMap.get("test0")["path"], "/infrastructure/testdriver");
     31  assert_equals(cookieMap.get("test0")["domain"], "{{host}}");
     32  assert_equals(cookieMap.get("test0")["secure"], false);
     33  assert_equals(cookieMap.get("test0")["httpOnly"], false);
     34  assert_equals(cookieMap.get("test0")["expiry"], undefined);
     35  // The 'default lax' behavior varies by browser.
     36  // assert_equals(cookieMap.get("test0")["sameSite"], "Lax");
     37 
     38  // test1 [Expires in 10 days]
     39  assert_equals(cookieMap.get("test1")["name"], "test1");
     40  assert_equals(cookieMap.get("test1")["value"], "1");
     41  assert_equals(cookieMap.get("test1")["path"], "/infrastructure/testdriver");
     42  assert_equals(cookieMap.get("test1")["domain"], "{{host}}");
     43  assert_equals(cookieMap.get("test1")["secure"], false);
     44  assert_equals(cookieMap.get("test1")["httpOnly"], false);
     45  assert_equals(cookieMap.get("test1")["expiry"], Math.floor(kTenDaysFromNow.getTime()/1000));
     46  // The 'default lax' behavior varies by browser.
     47  // assert_equals(cookieMap.get("test0")["sameSite"], "Lax");
     48 
     49  // test2 [Path /]
     50  assert_equals(cookieMap.get("test2")["name"], "test2");
     51  assert_equals(cookieMap.get("test2")["value"], "2");
     52  assert_equals(cookieMap.get("test2")["path"], "/");
     53  assert_equals(cookieMap.get("test2")["domain"], "{{host}}");
     54  assert_equals(cookieMap.get("test2")["secure"], false);
     55  assert_equals(cookieMap.get("test2")["httpOnly"], false);
     56  assert_equals(cookieMap.get("test2")["expiry"], undefined);
     57  // The 'default lax' behavior varies by browser.
     58  // assert_equals(cookieMap.get("test0")["sameSite"], "Lax");
     59 
     60  // test3 [HttpOnly]
     61  assert_equals(cookieMap.get("test3")["name"], "test3");
     62  assert_equals(cookieMap.get("test3")["value"], "3");
     63  assert_equals(cookieMap.get("test3")["path"], "/infrastructure/testdriver");
     64  assert_equals(cookieMap.get("test3")["domain"], "{{host}}");
     65  assert_equals(cookieMap.get("test3")["secure"], false);
     66  assert_equals(cookieMap.get("test3")["httpOnly"], true);
     67  assert_equals(cookieMap.get("test3")["expiry"], undefined);
     68  // The 'default lax' behavior varies by browser.
     69  // assert_equals(cookieMap.get("test0")["sameSite"], "Lax");
     70 
     71  // test4 [Secure] Omitted
     72 
     73  // test5 [SameSite Strict]
     74  assert_equals(cookieMap.get("test5")["name"], "test5");
     75  assert_equals(cookieMap.get("test5")["value"], "5");
     76  assert_equals(cookieMap.get("test5")["path"], "/infrastructure/testdriver");
     77  assert_equals(cookieMap.get("test5")["domain"], "{{host}}");
     78  assert_equals(cookieMap.get("test5")["secure"], false);
     79  assert_equals(cookieMap.get("test5")["httpOnly"], false);
     80  assert_equals(cookieMap.get("test5")["expiry"], undefined);
     81  assert_equals(cookieMap.get("test5")["sameSite"], "Strict");
     82 
     83  // test6 [SameSite None] Omitted
     84 
     85  // test7 [SameSite Lax]
     86  assert_equals(cookieMap.get("test7")["name"], "test7");
     87  assert_equals(cookieMap.get("test7")["value"], "7");
     88  assert_equals(cookieMap.get("test7")["path"], "/infrastructure/testdriver");
     89  assert_equals(cookieMap.get("test7")["domain"], "{{host}}");
     90  assert_equals(cookieMap.get("test7")["secure"], false);
     91  assert_equals(cookieMap.get("test7")["httpOnly"], false);
     92  assert_equals(cookieMap.get("test7")["expiry"], undefined);
     93  assert_equals(cookieMap.get("test7")["sameSite"], "Lax");
     94 }, "Get all HTTP cookies");
     95 </script>