Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6719)

Unified Diff: chrome/test/data/extensions/api_test/tabs/basics/move.js

Issue 9699065: "index" property should be optional with "chrome.tabs.move" (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}));
« chrome/browser/extensions/extension_tabs_module.cc ('K') | « chrome/common/extensions/docs/tabs.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698