| Index: chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java
|
| index 9d9898fad78ec6b5d2aa2448cb849c94c1969b82..6d810ea7eec96828fe7395f5c035dc906d88c4d8 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java
|
| @@ -15,6 +15,7 @@ import org.chromium.base.ApplicationStatus;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.chrome.browser.ChromeActivity;
|
| import org.chromium.chrome.browser.EmbedContentViewActivity;
|
| +import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.tabmodel.TabWindowManager.TabModelSelectorFactory;
|
| import org.chromium.chrome.test.util.browser.tabmodel.MockTabModelSelector;
|
| import org.chromium.ui.base.WindowAndroid;
|
| @@ -39,11 +40,10 @@ public class TabWindowManagerTest extends InstrumentationTestCase {
|
| return activity;
|
| }
|
|
|
| - private TabModelSelector requestSelector(ChromeActivity activity, int requestedIndex) {
|
| + private MockTabModelSelector requestSelector(ChromeActivity activity, int requestedIndex) {
|
| final TabWindowManager manager = TabWindowManager.getInstance();
|
| manager.setTabModelSelectorFactory(mMockTabModelSelectorFactory);
|
| - TabModelSelector selector = manager.requestSelector(activity, null, requestedIndex);
|
| - return selector;
|
| + return (MockTabModelSelector) manager.requestSelector(activity, null, requestedIndex);
|
| }
|
|
|
| /**
|
| @@ -231,4 +231,37 @@ public class TabWindowManagerTest extends InstrumentationTestCase {
|
| assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0));
|
| assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity2));
|
| }
|
| +
|
| + /**
|
| + * Tests that tabExistsInAnySelector() functions properly.
|
| + */
|
| + @SmallTest
|
| + @Feature({"Multiwindow"})
|
| + @UiThreadTest
|
| + public void testTabExistsInAnySelector() {
|
| + final TabWindowManager manager = TabWindowManager.getInstance();
|
| +
|
| + ChromeActivity activity0 = buildActivity();
|
| + ChromeActivity activity1 = buildActivity();
|
| + MockTabModelSelector selector0 = requestSelector(activity0, 0);
|
| + MockTabModelSelector selector1 = requestSelector(activity1, 1);
|
| + Tab tab1 = selector0.addMockTab();
|
| + Tab tab2 = selector1.addMockIncognitoTab();
|
| +
|
| + assertFalse(manager.tabExistsInAnySelector(tab1.getId() - 1));
|
| + assertTrue(manager.tabExistsInAnySelector(tab1.getId()));
|
| + assertTrue(manager.tabExistsInAnySelector(tab2.getId()));
|
| + assertFalse(manager.tabExistsInAnySelector(tab2.getId() + 1));
|
| +
|
| + AsyncTabParamsManager.getAsyncTabParams().clear();
|
| + final int asyncTabId = 123;
|
| + final TabReparentingParams dummyParams = new TabReparentingParams(null, null, null, false);
|
| + assertFalse(manager.tabExistsInAnySelector(asyncTabId));
|
| + AsyncTabParamsManager.add(asyncTabId, dummyParams);
|
| + try {
|
| + assertTrue(manager.tabExistsInAnySelector(asyncTabId));
|
| + } finally {
|
| + AsyncTabParamsManager.getAsyncTabParams().clear();
|
| + }
|
| + }
|
| }
|
|
|