Index: chrome/test/data/extensions/api_test/tabs/test.js |
=================================================================== |
--- chrome/test/data/extensions/api_test/tabs/test.js (revision 30333) |
+++ chrome/test/data/extensions/api_test/tabs/test.js (working copy) |
@@ -121,7 +121,7 @@ |
chrome.tabs.update(tabs[1].id, {selected: true}, |
pass(function(tab1){ |
// Check update of tab[1]. |
- chrome.test.assertEq(true, tab1.selected); |
+ chrome.test.assertEq(true, tab1.selected); |
chrome.tabs.getAllInWindow(firstWindowId, pass(function(tabs) { |
assertEq(true, tabs[1].selected); |
assertEq(false, tabs[2].selected); |
@@ -129,7 +129,7 @@ |
chrome.tabs.update(tabs[2].id, {selected: true}, |
pass(function(tab2){ |
// Check update of tab[2]. |
- chrome.test.assertEq(true, tab2.selected); |
+ chrome.test.assertEq(true, tab2.selected); |
chrome.tabs.getAllInWindow(firstWindowId, pass(function(tabs) { |
assertEq(false, tabs[1].selected); |
assertEq(true, tabs[2].selected); |
@@ -162,7 +162,7 @@ |
pass(function(tab) { |
var letter = tab.url[tab.url.length-6]; |
moveTabIds[letter] = tab.id; |
- |
+ |
// Assert on last callback that tabs were added in the order we created |
// them. |
if (letter == 'e') { |
@@ -195,15 +195,15 @@ |
chrome.test.assertEq(0, tabB.index); |
chrome.tabs.move(moveTabIds['e'], {"index": 2}, |
pass(function(tabE) { |
- chrome.test.assertEq(2, tabE.index); |
+ chrome.test.assertEq(2, tabE.index); |
chrome.tabs.move(moveTabIds['d'], {"windowId": moveWindow2, |
"index": 2}, pass(function(tabD) { |
- chrome.test.assertEq(2, tabD.index); |
+ chrome.test.assertEq(2, tabD.index); |
})); |
})); |
})); |
}, |
- |
+ |
// Check that the tab/window state is what we expect after doing moves. |
function moveTabsCheck() { |
chrome.tabs.getAllInWindow(moveWindow1, pass(function(tabs) { |
@@ -212,13 +212,13 @@ |
assertEq(pageUrl("a"), tabs[1].url); |
assertEq(pageUrl("e"), tabs[2].url); |
assertEq(pageUrl("c"), tabs[3].url); |
- |
+ |
chrome.tabs.getAllInWindow(moveWindow2, 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); |
- })); |
+ })); |
})); |
}, |
@@ -253,14 +253,14 @@ |
pass(function(window1Url) { |
assertEq("string", typeof(window1Url)); |
assertTrue(window1Url.length > 0); |
- |
+ |
// Take Second Capture |
chrome.tabs.captureVisibleTab(moveWindow2, |
pass(function(window2Url) { |
assertEq("string", typeof(window2Url)); |
assertTrue(window2Url.length > 0); |
assertTrue(window1Url != window2Url); |
- |
+ |
// Now pass null for windowId - it should come back with something |
// equal to either the first or second window. This is nondeterministic |
// depending on whether you let chrome stay focused, or click |
@@ -278,29 +278,53 @@ |
chrome.test.listenOnce(chrome.tabs.onCreated, function(tab) { |
assertEq(pageUrl("f"), tab.url); |
}); |
- |
+ |
chrome.tabs.create({"windowId": moveWindow1, "url": pageUrl("f"), |
"selected": true}, pass(function(tab) {})); |
}, |
- function tabsOnUpdated() { |
+ function tabsOnUpdatedIgnoreTabArg() { |
+ // A third argument was added to the onUpdated event callback. |
+ // Test that an event handler which ignores this argument works. |
var onUpdatedCompleted = chrome.test.listenForever(chrome.tabs.onUpdated, |
- function(tabid, info) { |
- if (tabid == moveTabIds['a'] && info.status == "complete") { |
+ function(tabid, changeInfo) { |
+ if (tabid == moveTabIds['a'] && changeInfo.status == "complete") { |
onUpdatedCompleted(); |
} |
} |
); |
- |
- chrome.tabs.update(moveTabIds['a'], {"url": pageUrl("f")}, |
- pass()); |
+ |
+ chrome.tabs.update(moveTabIds['a'], {"url": pageUrl("f")}, pass()); |
}, |
+ function tabsOnUpdated() { |
+ var onUpdatedCompleted = chrome.test.listenForever( |
+ chrome.tabs.onUpdated, |
+ function(tabid, changeInfo, tab) { |
+ // |tab| contains the id of the tab it describes. |
+ // Test that |tabid| matches this id. |
+ assertEq(tabid, tab.id); |
+ |
+ // If |changeInfo| has a status property, than |
+ // it should match the status of the tab in |tab|. |
+ if (changeInfo.status) { |
+ assertEq(changeInfo.status, tab.status); |
+ } |
+ |
+ if (tabid == moveTabIds['a'] && changeInfo.status == "complete") { |
+ onUpdatedCompleted(); |
+ } |
+ } |
+ ); |
+ |
+ chrome.tabs.update(moveTabIds['a'], {"url": pageUrl("f")}, pass()); |
+ }, |
+ |
function tabsOnMoved() { |
chrome.test.listenOnce(chrome.tabs.onMoved, function(tabid, info) { |
assertEq(moveTabIds['a'], tabid); |
}); |
- |
+ |
chrome.tabs.move(moveTabIds['a'], {"index": 0}, pass()); |
}, |
@@ -310,7 +334,7 @@ |
assertEq(moveTabIds['c'], tabid); |
} |
); |
- |
+ |
chrome.tabs.update(moveTabIds['c'], {"selected": true}, |
pass()); |
}, |
@@ -337,13 +361,13 @@ |
})); |
})); |
}, |
- |
+ |
function relativeUrlTabsCreate() { |
// Will be called from relative.html |
window.relativePageLoaded = chrome.test.callbackAdded(); |
var createCompleted = chrome.test.callbackAdded(); |
- chrome.tabs.create({windowId: firstWindowId, url: 'relative.html'}, |
+ chrome.tabs.create({windowId: firstWindowId, url: 'relative.html'}, |
function(tab){ |
testTabId = tab.id; |
createCompleted(); |
@@ -357,18 +381,18 @@ |
chrome.tabs.update(testTabId, {url: pageUrl("a")}, function(tab) { |
chrome.test.assertEq(pageUrl("a"), tab.url); |
- chrome.tabs.update(tab.id, {url: "relative.html"}, function(tab) { |
+ chrome.tabs.update(tab.id, {url: "relative.html"}, function(tab) { |
}); |
}); |
}, |
- |
+ |
function relativeUrlWindowsCreate() { |
// Will be called from relative.html |
window.relativePageLoaded = chrome.test.callbackAdded(); |
- |
+ |
chrome.windows.create({url: "relative.html"}); |
}, |
- |
+ |
function windowsOnCreated() { |
chrome.test.listenOnce(chrome.windows.onCreated, function(window) { |
chrome.test.assertTrue(window.width > 0); |