diff options
Diffstat (limited to 'chrome/test/data/extensions/api_test/tabs/basics/move.html')
| -rw-r--r-- | chrome/test/data/extensions/api_test/tabs/basics/move.html | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/chrome/test/data/extensions/api_test/tabs/basics/move.html b/chrome/test/data/extensions/api_test/tabs/basics/move.html new file mode 100644 index 0000000..9df94f4 --- /dev/null +++ b/chrome/test/data/extensions/api_test/tabs/basics/move.html @@ -0,0 +1,85 @@ +<script src="tabs_util.js"></script> + +<script> +var firstWindowId; +var secondWindowId; +var moveTabIds = {}; + +chrome.test.runTests([ + // Do a series of moves so that we get the following + // + // Before: + // Window1: (newtab),a,b,c,d,e + // Window2: (newtab) + // + // After: + // Window1: (newtab),a,e,c + // Window2: b,(newtab),d + function setupLetterPages() { + var pages = ["chrome://newtab/", pageUrl('a'), pageUrl('b'), + pageUrl('c'), pageUrl('d'), pageUrl('e')]; + createWindow(pages, {}, pass(function(winId, tabIds) { + firstWindowId = winId; + moveTabIds['a'] = tabIds[1]; + moveTabIds['b'] = tabIds[2]; + moveTabIds['c'] = tabIds[3]; + moveTabIds['d'] = tabIds[4]; + moveTabIds['e'] = tabIds[5]; + createWindow(["chrome://newtab/"], {}, pass(function(winId, tabIds) { + secondWindowId = winId; + })); + chrome.tabs.getAllInWindow(firstWindowId, pass(function(tabs) { + assertEq(pages.length, tabs.length); + for (var i in tabs) { + assertEq(pages[i], tabs[i].url); + } + })); + })); + }, + + function move() { + // Check that the tab/window state is what we expect after doing moves. + function checkMoveResults() { + chrome.tabs.getAllInWindow(firstWindowId, pass(function(tabs) { + assertEq(4, tabs.length); + assertEq("chrome://newtab/", tabs[0].url); + assertEq(pageUrl("a"), tabs[1].url); + assertEq(pageUrl("e"), tabs[2].url); + assertEq(pageUrl("c"), tabs[3].url); + + chrome.tabs.getAllInWindow(secondWindowId, pass(function(tabs) { + assertEq(3, tabs.length); + assertEq(pageUrl("b"), tabs[0].url); + assertEq("chrome://newtab/", tabs[1].url); + assertEq(pageUrl("d"), tabs[2].url); + })); + })); + } + + 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(); + })); + })); + })); + }, + + function remove() { + chrome.tabs.remove(moveTabIds["d"], pass(function() { + chrome.tabs.getAllInWindow(secondWindowId, + pass(function(tabs) { + assertEq(2, tabs.length); + assertEq(pageUrl("b"), tabs[0].url); + assertEq("chrome://newtab/", tabs[1].url); + })); + })); + } +]); +</script> |
