1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/components/sessionstore/test/browser_491168.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,42 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +function test() { 1.9 + /** Test for Bug 491168 **/ 1.10 + 1.11 + waitForExplicitFinish(); 1.12 + 1.13 + const REFERRER1 = "http://example.org/?" + Date.now(); 1.14 + const REFERRER2 = "http://example.org/?" + Math.random(); 1.15 + 1.16 + let tab = gBrowser.addTab(); 1.17 + gBrowser.selectedTab = tab; 1.18 + 1.19 + let browser = tab.linkedBrowser; 1.20 + whenBrowserLoaded(browser, function() { 1.21 + let tabState = JSON.parse(ss.getTabState(tab)); 1.22 + is(tabState.entries[0].referrer, REFERRER1, 1.23 + "Referrer retrieved via getTabState matches referrer set via loadURI."); 1.24 + 1.25 + tabState.entries[0].referrer = REFERRER2; 1.26 + ss.setTabState(tab, JSON.stringify(tabState)); 1.27 + 1.28 + whenTabRestored(tab, function(e) { 1.29 + is(window.content.document.referrer, REFERRER2, "document.referrer matches referrer set via setTabState."); 1.30 + 1.31 + gBrowser.removeTab(tab); 1.32 + 1.33 + let newTab = ss.undoCloseTab(window, 0); 1.34 + whenTabRestored(newTab, function() { 1.35 + is(window.content.document.referrer, REFERRER2, "document.referrer is still correct after closing and reopening the tab."); 1.36 + gBrowser.removeTab(newTab); 1.37 + 1.38 + finish(); 1.39 + }); 1.40 + }); 1.41 + }); 1.42 + 1.43 + let referrerURI = Services.io.newURI(REFERRER1, null, null); 1.44 + browser.loadURI("http://example.org", referrerURI, null); 1.45 +}