| 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);
|
| - })
|
| - );
|
| - })
|
| - );
|
| - }));
|
| - }
|
| -
|
| -]);
|
|
|