| Index: chrome/test/data/extensions/api_test/tabs/basics/move.js
|
| diff --git a/chrome/test/data/extensions/api_test/tabs/basics/move.js b/chrome/test/data/extensions/api_test/tabs/basics/move.js
|
| index a88d6ed9e445d7615dc53caf7dcad12bb4f12e85..4befad6ef1fd1a42f15da92b156f66628bb05b7e 100644
|
| --- a/chrome/test/data/extensions/api_test/tabs/basics/move.js
|
| +++ b/chrome/test/data/extensions/api_test/tabs/basics/move.js
|
| @@ -5,6 +5,7 @@
|
| var firstWindowId;
|
| var secondWindowId;
|
| var moveTabIds = {};
|
| +var kChromeUINewTabURL = "chrome://newtab/";
|
|
|
| chrome.test.runTests([
|
| // Do a series of moves and removes so that we get the following
|
| @@ -14,10 +15,10 @@ chrome.test.runTests([
|
| // Window2: (newtab)
|
| //
|
| // After moveToInvalidTab:
|
| - // Window1: (newtab),a
|
| - // Window2: b,(newtab)
|
| + // Window1: (newtab)
|
| + // Window2: b,a,(newtab)
|
| function setupLetterPages() {
|
| - var pages = ["chrome://newtab/", pageUrl('a'), pageUrl('b'),
|
| + var pages = [kChromeUINewTabURL, pageUrl('a'), pageUrl('b'),
|
| pageUrl('c'), pageUrl('d'), pageUrl('e')];
|
| createWindow(pages, {}, pass(function(winId, tabIds) {
|
| firstWindowId = winId;
|
| @@ -26,7 +27,7 @@ chrome.test.runTests([
|
| moveTabIds['c'] = tabIds[3];
|
| moveTabIds['d'] = tabIds[4];
|
| moveTabIds['e'] = tabIds[5];
|
| - createWindow(["chrome://newtab/"], {}, pass(function(winId, tabIds) {
|
| + createWindow([kChromeUINewTabURL], {}, pass(function(winId, tabIds) {
|
| secondWindowId = winId;
|
| }));
|
| chrome.tabs.getAllInWindow(firstWindowId, pass(function(tabs) {
|
| @@ -43,7 +44,7 @@ chrome.test.runTests([
|
| function checkMoveResults() {
|
| chrome.tabs.getAllInWindow(firstWindowId, pass(function(tabs) {
|
| assertEq(4, tabs.length);
|
| - assertEq("chrome://newtab/", tabs[0].url);
|
| + assertEq(kChromeUINewTabURL, tabs[0].url);
|
| assertEq(pageUrl("a"), tabs[1].url);
|
| assertEq(pageUrl("e"), tabs[2].url);
|
| assertEq(pageUrl("c"), tabs[3].url);
|
| @@ -51,7 +52,7 @@ chrome.test.runTests([
|
| chrome.tabs.getAllInWindow(secondWindowId, pass(function(tabs) {
|
| assertEq(3, tabs.length);
|
| assertEq(pageUrl("b"), tabs[0].url);
|
| - assertEq("chrome://newtab/", tabs[1].url);
|
| + assertEq(kChromeUINewTabURL, tabs[1].url);
|
| assertEq(pageUrl("d"), tabs[2].url);
|
| }));
|
| }));
|
| @@ -59,53 +60,85 @@ chrome.test.runTests([
|
|
|
| chrome.tabs.move(moveTabIds['b'], {"windowId": secondWindowId, "index": 0},
|
| pass(function(tabB) {
|
| - chrome.test.assertEq(0, tabB.index);
|
| - chrome.tabs.move(moveTabIds['e'], {"index": 2},
|
| - pass(function(tabE) {
|
| - chrome.test.assertEq(2, tabE.index);
|
| - chrome.tabs.move(moveTabIds['d'], {"windowId": secondWindowId,
|
| - "index": 2}, pass(function(tabD) {
|
| - chrome.test.assertEq(2, tabD.index);
|
| - checkMoveResults();
|
| + assertEq(0, tabB.index);
|
| + chrome.tabs.move(moveTabIds['e'], {"index": 2},
|
| + pass(function(tabE) {
|
| + assertEq(2, tabE.index);
|
| + chrome.tabs.move(moveTabIds['d'], {"windowId": secondWindowId,
|
| + "index": 2}, pass(function(tabD) {
|
| + assertEq(2, tabD.index);
|
| + checkMoveResults();
|
| }));
|
| }));
|
| }));
|
| },
|
|
|
| + function moveWithoutIndex() {
|
| + function checkMoveResults() {
|
| + chrome.tabs.getAllInWindow(firstWindowId, pass(function(tabs) {
|
| + assertEq(3, tabs.length);
|
| + assertEq(kChromeUINewTabURL, tabs[0].url);
|
| + assertEq(pageUrl("c"), tabs[1].url);
|
| + assertEq(pageUrl("a"), tabs[2].url);
|
| +
|
| + chrome.tabs.getAllInWindow(secondWindowId, pass(function(tabs) {
|
| + assertEq(4, tabs.length);
|
| + assertEq(pageUrl("b"), tabs[0].url);
|
| + assertEq(kChromeUINewTabURL, tabs[1].url);
|
| + assertEq(pageUrl("d"), tabs[2].url);
|
| + assertEq(pageUrl("e"), tabs[3].url);
|
| + }));
|
| + }));
|
| + }
|
| +
|
| + // Not specifying any move properties moves a tab to the end of the window
|
| + chrome.tabs.move(moveTabIds['a'], pass(function(tabA) {
|
| + assertEq(3, tabA.index);
|
| + // Specifying only a windowId moves a tab to the end of that window
|
| + chrome.tabs.move(moveTabIds['e'], {"windowId": secondWindowId},
|
| + pass(function(tabE) {
|
| + assertEq(3, tabE.index);
|
| + checkMoveResults();
|
| + }));
|
| + }));
|
| + },
|
| +
|
| function remove() {
|
| chrome.tabs.remove(moveTabIds["d"], pass(function() {
|
| chrome.tabs.getAllInWindow(secondWindowId,
|
| pass(function(tabs) {
|
| - assertEq(2, tabs.length);
|
| + assertEq(3, tabs.length);
|
| assertEq(pageUrl("b"), tabs[0].url);
|
| - assertEq("chrome://newtab/", tabs[1].url);
|
| + assertEq(kChromeUINewTabURL, tabs[1].url);
|
| + assertEq(pageUrl("e"), tabs[2].url);
|
| }));
|
| }));
|
| },
|
|
|
| function moveMultipleTabs() {
|
| - chrome.tabs.move([moveTabIds['e'], moveTabIds['c']],
|
| - {windowId: secondWindowId, index: 1},
|
| + chrome.tabs.move([moveTabIds['c'], moveTabIds['a']],
|
| + {"windowId": secondWindowId, "index": 1},
|
| pass(function(tabsA) {
|
| assertEq(2, tabsA.length);
|
| assertEq(secondWindowId, tabsA[0].windowId);
|
| - assertEq(pageUrl('e'), tabsA[0].url);
|
| + assertEq(pageUrl('c'), tabsA[0].url);
|
| assertEq(1, tabsA[0].index);
|
| assertEq(secondWindowId, tabsA[1].windowId);
|
| - assertEq(pageUrl('c'), tabsA[1].url);
|
| + assertEq(pageUrl('a'), tabsA[1].url);
|
| assertEq(2, tabsA[1].index);
|
| - chrome.tabs.query({windowId: secondWindowId}, pass(function(tabsB) {
|
| - assertEq(4, tabsB.length);
|
| + chrome.tabs.query({"windowId": secondWindowId}, pass(function(tabsB) {
|
| + assertEq(5, tabsB.length);
|
| }));
|
| }));
|
| },
|
|
|
| function removeMultipleTabs() {
|
| chrome.tabs.remove([moveTabIds['e'], moveTabIds['c']], pass(function() {
|
| - chrome.tabs.query({windowId: secondWindowId}, pass(function(tabs) {
|
| - assertEq(2, tabs.length);
|
| + chrome.tabs.query({"windowId": secondWindowId}, pass(function(tabs) {
|
| + assertEq(3, tabs.length);
|
| assertEq(pageUrl("b"), tabs[0].url);
|
| - assertEq("chrome://newtab/", tabs[1].url);
|
| + assertEq(pageUrl("a"), tabs[1].url);
|
| + assertEq(kChromeUINewTabURL, tabs[2].url);
|
| }));
|
| }));
|
| },
|
| @@ -115,14 +148,14 @@ chrome.test.runTests([
|
| var error_msg = "Invalid value for argument 2. Property 'index': " +
|
| "Value must not be less than 0.";
|
| try {
|
| - chrome.tabs.move(moveTabIds['b'], {index: -1}, function(tab) {
|
| + chrome.tabs.move(moveTabIds['b'], {"index": -1}, function(tab) {
|
| chrome.test.fail("Moved a tab to an invalid index");
|
| });
|
| } catch (e) {
|
| assertEq(error_msg, e.message);
|
| }
|
| - chrome.tabs.move(moveTabIds['b'], {index: 10000}, pass(function(tabB) {
|
| - assertEq(1, tabB.index);
|
| + chrome.tabs.move(moveTabIds['b'], {"index": 10000}, pass(function(tabB) {
|
| + assertEq(2, tabB.index);
|
| }));
|
| },
|
|
|
| @@ -130,9 +163,10 @@ chrome.test.runTests([
|
| function moveToCurrentWindow() {
|
| chrome.windows.getCurrent(pass(function(win) {
|
| var targetWin = win.id == firstWindowId ? secondWindowId : firstWindowId;
|
| - chrome.tabs.query({windowId: targetWin}, pass(function(tabs) {
|
| + chrome.tabs.query({"windowId": targetWin}, pass(function(tabs) {
|
| chrome.tabs.move(tabs[0].id,
|
| - {windowId: chrome.windows.WINDOW_ID_CURRENT, index:0},
|
| + {"windowId": chrome.windows.WINDOW_ID_CURRENT,
|
| + "index": 0},
|
| pass(function(tab) {
|
| assertEq(win.id, tab.windowId);
|
| }));
|
|
|