1description("Test that changing documentURI has no effects on the url passed into storage events."); 2 3function test(storageString, callback) 4{ 5 window.completionCallback = callback; 6 window.storage = eval(storageString); 7 if (!storage) { 8 testFailed(storageString + " DOES NOT exist"); 9 return; 10 } 11 12 debug("Testing " + storageString); 13 14 evalAndLog("storage.clear()"); 15 shouldBe("storage.length", "0"); 16 17 runAfterStorageEvents(step1); 18} 19 20function step1() 21{ 22 debug("Reset storage event list"); 23 evalAndLog("storageEventList = new Array()"); 24 evalAndLog("storage.foo = '123'"); 25 26 runAfterStorageEvents(step2); 27} 28 29function step2() 30{ 31 shouldBe("storageEventList.length", "1"); 32 debug("Saving url"); 33 window.lastURL = storageEventList[0].url; 34 35 evalAndLog("document.documentURI = 'abc'"); 36 shouldBeEqualToString("document.documentURI", "abc"); 37 evalAndLog("storage.foo = 'xyz'"); 38 39 runAfterStorageEvents(step3); 40} 41 42function step3() 43{ 44 shouldBe("storageEventList.length", "2"); 45 shouldBeTrue(String(window.lastURL == storageEventList[1].url)); 46 47 completionCallback(); 48} 49 50testStorages(test); 51 52var successfullyParsed = true; 53