forked from mirrors/gecko-dev
		
	 8cdd233ac6
			
		
	
	
		8cdd233ac6
		
	
	
	
	
		
			
			--HG-- extra : commitid : GukwXUsbANw extra : rebase_source : 7fd34f268859887633c39db31504b9237126a55b extra : source : 32196b22b4544981f5658ce028e7566bff3fbca4
		
			
				
	
	
		
			45 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| function test() {
 | |
|   /** Test for Bug 465223 **/
 | |
| 
 | |
|   // test setup
 | |
|   waitForExplicitFinish();
 | |
| 
 | |
|   let uniqueKey1 = "bug 465223.1";
 | |
|   let uniqueKey2 = "bug 465223.2";
 | |
|   let uniqueValue1 = "unik" + Date.now();
 | |
|   let uniqueValue2 = "pi != " + Math.random();
 | |
| 
 | |
|   // open a window and set a value on it
 | |
|   let newWin = openDialog(location, "_blank", "chrome,all,dialog=no");
 | |
|   promiseWindowLoaded(newWin).then(() => {
 | |
|     ss.setWindowValue(newWin, uniqueKey1, uniqueValue1);
 | |
| 
 | |
|     let newState = { windows: [{ tabs:[{ entries: [] }], extData: {} }] };
 | |
|     newState.windows[0].extData[uniqueKey2] = uniqueValue2;
 | |
|     ss.setWindowState(newWin, JSON.stringify(newState), false);
 | |
| 
 | |
|     is(newWin.gBrowser.tabs.length, 2,
 | |
|        "original tab wasn't overwritten");
 | |
|     is(ss.getWindowValue(newWin, uniqueKey1), uniqueValue1,
 | |
|        "window value wasn't overwritten when the tabs weren't");
 | |
|     is(ss.getWindowValue(newWin, uniqueKey2), uniqueValue2,
 | |
|        "new window value was correctly added");
 | |
| 
 | |
|     newState.windows[0].extData[uniqueKey2] = uniqueValue1;
 | |
|     ss.setWindowState(newWin, JSON.stringify(newState), true);
 | |
| 
 | |
|     is(newWin.gBrowser.tabs.length, 1,
 | |
|        "original tabs were overwritten");
 | |
|     is(ss.getWindowValue(newWin, uniqueKey1), "",
 | |
|        "window value was cleared");
 | |
|     is(ss.getWindowValue(newWin, uniqueKey2), uniqueValue1,
 | |
|        "window value was correctly overwritten");
 | |
| 
 | |
|     // clean up
 | |
|     BrowserTestUtils.closeWindow(newWin).then(finish);
 | |
|   });
 | |
| }
 |