tor-browser

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

browser_cookies.js (1512B)


      1 "use strict";
      2 
      3 CookiePolicyHelper.runTest("document.cookies", {
      4  cookieJarAccessAllowed: async _ => {
      5    let hasCookie = !!content.document.cookie.length;
      6 
      7    await content
      8      .fetch("server.sjs")
      9      .then(r => r.text())
     10      .then(text => {
     11        is(
     12          text,
     13          hasCookie ? "cookie-present" : "cookie-not-present",
     14          "document.cookie is consistent with fetch requests"
     15        );
     16      });
     17 
     18    content.document.cookie = "name=value";
     19    ok(content.document.cookie.includes("name=value"), "Some cookies for me");
     20    ok(content.document.cookie.includes("foopy=1"), "Some cookies for me");
     21 
     22    await content
     23      .fetch("server.sjs")
     24      .then(r => r.text())
     25      .then(text => {
     26        is(text, "cookie-present", "We should have cookies");
     27      });
     28 
     29    ok(!!content.document.cookie.length, "Some Cookies for me");
     30  },
     31 
     32  cookieJarAccessDenied: async _ => {
     33    is(content.document.cookie, "", "No cookies for me");
     34    content.document.cookie = "name=value";
     35    is(content.document.cookie, "", "No cookies for me");
     36 
     37    await content
     38      .fetch("server.sjs")
     39      .then(r => r.text())
     40      .then(text => {
     41        is(text, "cookie-not-present", "We should not have cookies");
     42      });
     43    // Let's do it twice.
     44    await content
     45      .fetch("server.sjs")
     46      .then(r => r.text())
     47      .then(text => {
     48        is(text, "cookie-not-present", "We should not have cookies");
     49      });
     50 
     51    is(content.document.cookie, "", "Still no cookies for me");
     52  },
     53 });