function runNextTest()
{
if (gTests.length) { var test = gTests.shift();
test();
} else {
SimpleTest.finish();
}
}
function finish(val)
{
is(val, "correct value", "New window should access the correct session storage");
if (--gRunningTests == 0) {
runNextTest();
}
}
SimpleTest.waitForExplicitFinish();
function test1() {
sessionStorage.testItem = "correct value";
// targetted load into an existing window var testWin = window.open("about:blank", "alreadyOpened");
gRunningTests++;
sendMouseEvent({type: "click"}, "testlink3");
// window.location into an existing window. Leave the window open
// for further tests...
gRunningTests++;
gTestWin = window.open("about:blank", "testWindow");
gTestWin.location = 'javascript:window.opener.finish(sessionStorage["testItem"]);';
}
function test2() {
// Now change session storage and load a new item in gTestWin, to
// verify that they properly diverged after window.open().
gRunningTests++;
sessionStorage.testItem = "incorrect value";
gTestWin.location = 'javascript:window.opener.finish(sessionStorage["testItem"]);';
}
function test3()
{
// Now, with session storage still changed, try the window.open()
// path, make sure it doesn't overwrite the session storage.
gRunningTests++;
window.open('javascript:window.opener.finish(sessionStorage["testItem"]);window.close();', "testWindow");
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.