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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerTest.java

Issue 2143203002: 🎨 Tidy up of TabPersistentStore's clean-up logic (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix incognito tabs persisting when cct service is active Created 4 years, 5 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/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();
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698