mirror of
https://github.com/Feodor2/Mypal68.git
synced 2025-06-19 15:25:50 -04:00
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
"use strict";
|
|
|
|
/**
|
|
* Tests that cookies are stored and restored correctly
|
|
* by sessionstore (bug 423132).
|
|
*/
|
|
add_task(async function() {
|
|
const testURL =
|
|
"http://mochi.test:8888/browser/" +
|
|
"browser/components/sessionstore/test/browser_423132_sample.html";
|
|
|
|
Services.cookies.removeAll();
|
|
// make sure that sessionstore.js can be forced to be created by setting
|
|
// the interval pref to 0
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [["browser.sessionstore.interval", 0]],
|
|
});
|
|
|
|
let tab = BrowserTestUtils.addTab(gBrowser, testURL);
|
|
await BrowserTestUtils.browserLoaded(tab.linkedBrowser);
|
|
await TabStateFlusher.flush(tab.linkedBrowser);
|
|
|
|
// get the sessionstore state for the window
|
|
let state = ss.getBrowserState();
|
|
|
|
// verify our cookie got set during pageload
|
|
let i = 0;
|
|
for (var cookie of Services.cookies.cookies) {
|
|
i++;
|
|
}
|
|
Assert.equal(i, 1, "expected one cookie");
|
|
|
|
// remove the cookie
|
|
Services.cookies.removeAll();
|
|
|
|
// restore the window state
|
|
await setBrowserState(state);
|
|
|
|
// at this point, the cookie should be restored...
|
|
for (var cookie2 of Services.cookies.cookies) {
|
|
if (cookie.name == cookie2.name) {
|
|
break;
|
|
}
|
|
}
|
|
is(cookie.name, cookie2.name, "cookie name successfully restored");
|
|
is(cookie.value, cookie2.value, "cookie value successfully restored");
|
|
is(cookie.path, cookie2.path, "cookie path successfully restored");
|
|
|
|
// clean up
|
|
Services.cookies.removeAll();
|
|
BrowserTestUtils.removeTab(gBrowser.tabs[1]);
|
|
});
|