tor-browser

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

browser_423132.js (1512B)


      1 "use strict";
      2 
      3 /**
      4 * Tests that cookies are stored and restored correctly
      5 * by sessionstore (bug 423132).
      6 */
      7 add_task(async function () {
      8  const testURL =
      9    "http://mochi.test:8888/browser/" +
     10    "browser/components/sessionstore/test/browser_423132_sample.html";
     11 
     12  Services.cookies.removeAll();
     13  // make sure that sessionstore.js can be forced to be created by setting
     14  // the interval pref to 0
     15  await SpecialPowers.pushPrefEnv({
     16    set: [["browser.sessionstore.interval", 0]],
     17  });
     18 
     19  let tab = BrowserTestUtils.addTab(gBrowser, testURL);
     20  await BrowserTestUtils.browserLoaded(tab.linkedBrowser);
     21  await TabStateFlusher.flush(tab.linkedBrowser);
     22 
     23  // get the sessionstore state for the window
     24  let state = ss.getBrowserState();
     25 
     26  // verify our cookie got set during pageload
     27  let i = 0;
     28  for (var cookie of Services.cookies.cookies) {
     29    i++;
     30  }
     31  Assert.equal(i, 1, "expected one cookie");
     32 
     33  // remove the cookie
     34  Services.cookies.removeAll();
     35 
     36  // restore the window state
     37  await setBrowserState(state);
     38 
     39  // at this point, the cookie should be restored...
     40  for (var cookie2 of Services.cookies.cookies) {
     41    if (cookie.name == cookie2.name) {
     42      break;
     43    }
     44  }
     45  is(cookie.name, cookie2.name, "cookie name successfully restored");
     46  is(cookie.value, cookie2.value, "cookie value successfully restored");
     47  is(cookie.path, cookie2.path, "cookie path successfully restored");
     48 
     49  // clean up
     50  Services.cookies.removeAll();
     51  BrowserTestUtils.removeTab(gBrowser.tabs[1]);
     52 });