Index: chrome/test/data/extensions/api_test/session_restore/session_restore.js |
diff --git a/chrome/test/data/extensions/api_test/session_restore/session_restore.js b/chrome/test/data/extensions/api_test/session_restore/session_restore.js |
deleted file mode 100644 |
index 2869c8007f6c5c4bb11645df886b06c1456e9671..0000000000000000000000000000000000000000 |
--- a/chrome/test/data/extensions/api_test/session_restore/session_restore.js |
+++ /dev/null |
@@ -1,317 +0,0 @@ |
-// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-var pages = [pageUrl('a'), pageUrl('b'), pageUrl('c')]; |
-var firstWindowTabIds = []; |
-var recentlyClosedSecondWindowTabIds = []; |
-var recentlyClosedTabIds = []; |
-var recentlyClosedWindowIds = []; |
-var windowIds = []; |
- |
-var callbackPass = chrome.test.callbackPass; |
-var callbackFail = chrome.test.callbackFail; |
-var assertEq = chrome.test.assertEq; |
-var assertFalse = chrome.test.assertFalse; |
-var assertTrue = chrome.test.assertTrue; |
- |
-function pageUrl(letter) { |
- return chrome.extension.getURL(letter + ".html"); |
-} |
- |
-// Creates one window with tabs set to the urls in the array |tabUrls|. |
-// At least one url must be specified. |
-// The |callback| should look like function(windowId, tabIds) {...}. |
-function createWindow(tabUrls, callback) { |
- chrome.windows.create({url: tabUrls}, function(win) { |
- var newTabIds = []; |
- win.tabs.forEach(function(tab) { |
- newTabIds.push(tab.id); |
- }); |
- callback(win.id, newTabIds); |
- }); |
-} |
- |
-function callForEach(fn, calls, eachCallback, doneCallback) { |
- if (!calls.length) { |
- doneCallback(); |
- return; |
- } |
- fn.call(null, calls[0], callbackPass(function() { |
- eachCallback.apply(null, arguments); |
- callForEach(fn, calls.slice(1), eachCallback, doneCallback); |
- })); |
-} |
- |
-function checkEntries(expectedEntries, actualEntries) { |
- assertEq(expectedEntries.length, actualEntries.length); |
- expectedEntries.forEach(function(expected, i) { |
- var actual = actualEntries[i]; |
- if (expected.tab) { |
- assertTrue(actual.hasOwnProperty('tab')); |
- assertFalse(actual.hasOwnProperty('window')); |
- assertEq(expected.tab.url, actual.tab.url); |
- } else { |
- assertTrue(actual.hasOwnProperty('window')); |
- assertFalse(actual.hasOwnProperty('tab')); |
- assertEq(expected.window.tabsLength, actual.window.tabs.length); |
- } |
- }); |
-} |
- |
-chrome.test.runTests([ |
- // After setupWindows |
- // |
- // Window1: a,b,c |
- // Window2: a,b |
- // Window3: a,b |
- // |
- // After retriveClosedTabs: |
- // |
- // Window1: c |
- // Window2: a,b |
- // Window3: a,b |
- // ClosedList: a,b |
- // |
- // After retriveClosedWindows: |
- // |
- // Window1: c |
- // ClosedList: Window2,Window3,a,b |
- function setupWindows() { |
- var callArgs = [ |
- pages, |
- pages.slice(0, 2), |
- pages.slice(0, 2) |
- ]; |
- callForEach( |
- createWindow, |
- callArgs, |
- function each(winId, tabIds) { |
- windowIds.push(winId); |
- }, |
- function done() { |
- chrome.tabs.getAllInWindow(windowIds[0], callbackPass(function(tabs) { |
- assertEq(pages.length, tabs.length); |
- tabs.forEach(function(tab) { |
- firstWindowTabIds.push(tab.id); |
- }); |
- })); |
- chrome.windows.getAll({"populate": true}, |
- callbackPass(function(win) { |
- assertEq(callArgs.length + 1, win.length); |
- }) |
- ); |
- } |
- ); |
- }, |
- |
- function retrieveClosedTabs() { |
- // Check that the recently closed list contains what we expect |
- // after removing tabs. |
- callForEach( |
- chrome.tabs.remove, |
- firstWindowTabIds.slice(0, 2).reverse(), |
- function each() { |
- }, |
- function done() { |
- chrome.sessionRestore.getRecentlyClosed( |
- {maxResults: 2, entryType: "tab"}, |
- callbackPass(function(entries) { |
- var expectedEntries = [ |
- { tab: { url: pages[0] } }, |
- { tab: { url: pages[1] } } |
- ]; |
- checkEntries(expectedEntries, entries); |
- entries.forEach(function(entry) { |
- recentlyClosedTabIds.push(entry.id); |
- }); |
- }) |
- ); |
- } |
- ); |
- }, |
- |
- function retrieveClosedWindows() { |
- // Check that the recently closed list contains what we expect |
- // after removing windows. |
- callForEach( |
- chrome.windows.remove, |
- windowIds.slice(1, 3).reverse(), |
- function each() { |
- }, |
- function done() { |
- chrome.sessionRestore.getRecentlyClosed( |
- {maxResults: 2, entryType: "window"}, |
- callbackPass(function(entries) { |
- var expectedEntries = [ |
- { window: { tabsLength: 2 } }, |
- { window: { tabsLength: 2 } } |
- ]; |
- checkEntries(expectedEntries, entries); |
- entries[0].window.tabs.forEach(function(tab) { |
- recentlyClosedSecondWindowTabIds.push(tab.id); |
- }); |
- entries.forEach(function(entry) { |
- recentlyClosedWindowIds.push(entry.id); |
- }); |
- }) |
- ); |
- } |
- ); |
- }, |
- |
- function retrieveClosedEntries() { |
- // Check that the recently closed list contains what we expect |
- // after removing tabs and windows. |
- chrome.sessionRestore.getRecentlyClosed( |
- callbackPass(function(entries) { |
- var expectedEntries = [ |
- { window: { tabsLength: 2 } }, |
- { window: { tabsLength: 2 } }, |
- { tab: { url: pages[0] } }, |
- { tab: { url: pages[1] } } |
- ]; |
- checkEntries(expectedEntries, entries); |
- assertEq(recentlyClosedTabIds.length + recentlyClosedWindowIds.length, |
- entries.length); |
- }) |
- ); |
- }, |
- |
- function retrieveMaxEntries() { |
- // Check that the recently closed list contains what we expect |
- // after removing tabs and windows. |
- chrome.sessionRestore.getRecentlyClosed({maxResults: 25}, |
- callbackPass(function(entries) { |
- var expectedEntries = [ |
- { window: { tabsLength: 2 } }, |
- { window: { tabsLength: 2 } }, |
- { tab: { url: pages[0] } }, |
- { tab: { url: pages[1] } } |
- ]; |
- checkEntries(expectedEntries, entries); |
- assertEq(recentlyClosedTabIds.length + recentlyClosedWindowIds.length, |
- entries.length); |
- }) |
- ); |
- }, |
- |
- function restoreClosedTabs() { |
- chrome.windows.get(windowIds[0], {"populate": true}, |
- callbackPass(function(win) { |
- var tabCountBeforeRestore = win.tabs.length; |
- callForEach( |
- chrome.sessionRestore.restore, |
- recentlyClosedTabIds.slice(0, 2), |
- function each() { |
- }, |
- function done() { |
- chrome.windows.get(windowIds[0], {"populate": true}, |
- callbackPass(function(win){ |
- assertEq(tabCountBeforeRestore + 2, win.tabs.length); |
- win.tabs.forEach(function(tab, i) { |
- assertEq(pages[i++], tab.url); |
- }); |
- }) |
- ); |
- } |
- ); |
- }) |
- ); |
- }, |
- |
- function restoreTabInClosedWindow() { |
- chrome.windows.getAll({"populate": true}, callbackPass(function(win) { |
- var windowCountBeforeRestore = win.length; |
- chrome.sessionRestore.restore(recentlyClosedSecondWindowTabIds[0], |
- callbackPass(function() { |
- chrome.windows.getAll({"populate": true}, |
- callbackPass(function(win) { |
- assertEq(windowCountBeforeRestore + 1, win.length); |
- assertEq(1, win[win.length - 1].tabs.length); |
- assertEq(pages[0], win[win.length - 1].tabs[0].url); |
- }) |
- ); |
- }) |
- ); |
- })); |
- }, |
- |
- function restoreClosedWindows() { |
- chrome.windows.getAll({"populate": true}, callbackPass(function(win) { |
- var windowCountBeforeRestore = win.length; |
- callForEach( |
- chrome.sessionRestore.restore, |
- recentlyClosedWindowIds.slice(0, 1), |
- function each() { |
- }, |
- function done() { |
- chrome.windows.getAll({"populate": true}, |
- callbackPass(function(win) { |
- assertEq(windowCountBeforeRestore + 1, win.length); |
- }) |
- ); |
- } |
- ); |
- })); |
- }, |
- |
- function restoreSameEntryTwice() { |
- chrome.windows.getAll({"populate": true}, callbackPass(function(win) { |
- var windowCountBeforeRestore = win.length; |
- chrome.sessionRestore.restore(recentlyClosedWindowIds[0], |
- callbackFail("Invalid session id.", function() { |
- chrome.windows.getAll({"populate": true}, |
- callbackPass(function(win) { |
- assertEq(windowCountBeforeRestore, win.length); |
- }) |
- ); |
- }) |
- ); |
- })); |
- }, |
- |
- function restoreInvalidEntries() { |
- chrome.windows.getAll({"populate": true}, callbackPass(function(win) { |
- var windowCountBeforeRestore = win.length; |
- chrome.sessionRestore.restore(-1, |
- callbackFail("Invalid session id.", function() { |
- chrome.windows.getAll({"populate": true}, |
- callbackPass(function(win) { |
- assertEq(windowCountBeforeRestore, win.length); |
- }) |
- ); |
- }) |
- ); |
- })); |
- }, |
- |
- function restoreMostRecentEntry() { |
- chrome.windows.getAll({"populate": true}, callbackPass(function(win) { |
- var windowCountBeforeRestore = win.length; |
- chrome.sessionRestore.restore(callbackPass(function() { |
- chrome.windows.getAll({"populate": true}, |
- callbackPass(function(win) { |
- assertEq(windowCountBeforeRestore + 1, win.length); |
- }) |
- ); |
- })); |
- })); |
- }, |
- |
- function checkRecentlyClosedListEmpty() { |
- chrome.windows.getAll({"populate": true}, callbackPass(function(win) { |
- var windowCountBeforeRestore = win.length; |
- chrome.sessionRestore.restore( |
- callbackFail("There are no recently closed sessions.", function() { |
- chrome.windows.getAll({"populate": true}, |
- callbackPass(function(win) { |
- assertEq(windowCountBeforeRestore, win.length); |
- }) |
- ); |
- }) |
- ); |
- })); |
- } |
- |
-]); |