mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-12 18:27:32 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
59
browser/components/sessionstore/test/browser_423132.js
Normal file
59
browser/components/sessionstore/test/browser_423132.js
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
"use strict";
|
||||
|
||||
/**
|
||||
* Tests that cookies are stored and restored correctly
|
||||
* by sessionstore (bug 423132).
|
||||
*/
|
||||
add_task(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
|
||||
yield SpecialPowers.pushPrefEnv({
|
||||
set: [["browser.sessionstore.interval", 0]]
|
||||
});
|
||||
|
||||
let win = yield BrowserTestUtils.openNewBrowserWindow();
|
||||
let browser = win.gBrowser.selectedBrowser;
|
||||
browser.loadURI(testURL);
|
||||
yield BrowserTestUtils.browserLoaded(browser);
|
||||
|
||||
yield TabStateFlusher.flush(browser);
|
||||
|
||||
// get the sessionstore state for the window
|
||||
let state = ss.getWindowState(win);
|
||||
|
||||
// verify our cookie got set during pageload
|
||||
let enumerator = Services.cookies.enumerator;
|
||||
let cookie;
|
||||
let i = 0;
|
||||
while (enumerator.hasMoreElements()) {
|
||||
cookie = enumerator.getNext().QueryInterface(Ci.nsICookie);
|
||||
i++;
|
||||
}
|
||||
Assert.equal(i, 1, "expected one cookie");
|
||||
|
||||
// remove the cookie
|
||||
Services.cookies.removeAll();
|
||||
|
||||
// restore the window state
|
||||
ss.setWindowState(win, state, true);
|
||||
|
||||
// at this point, the cookie should be restored...
|
||||
enumerator = Services.cookies.enumerator;
|
||||
let cookie2;
|
||||
while (enumerator.hasMoreElements()) {
|
||||
cookie2 = enumerator.getNext().QueryInterface(Ci.nsICookie);
|
||||
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();
|
||||
yield BrowserTestUtils.closeWindow(win);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue