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 44aded45d72a5102c6b37d89245ebfb40dcbec04..65e78d3a9fa568926dc033ebb33d05611525e57f 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 |
@@ -5,9 +5,14 @@ |
package org.chromium.chrome.browser.tabmodel; |
import android.app.Activity; |
+import android.support.test.annotation.UiThreadTest; |
import android.support.test.filters.SmallTest; |
-import android.test.InstrumentationTestCase; |
-import android.test.UiThreadTest; |
+import android.support.test.rule.UiThreadTestRule; |
+ |
+import org.junit.Assert; |
+import org.junit.Rule; |
+import org.junit.Test; |
+import org.junit.runner.RunWith; |
import org.chromium.base.ActivityState; |
import org.chromium.base.ApplicationStatus; |
@@ -16,13 +21,15 @@ import org.chromium.chrome.browser.ChromeActivity; |
import org.chromium.chrome.browser.customtabs.CustomTabActivity; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tabmodel.TabWindowManager.TabModelSelectorFactory; |
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner; |
import org.chromium.chrome.test.util.browser.tabmodel.MockTabModelSelector; |
/** |
* Test for {@link TabWindowManager} APIs. Makes sure the class handles multiple {@link Activity}s |
* requesting {@link TabModelSelector}s, {@link Activity}s getting destroyed, etc.. |
*/ |
-public class TabWindowManagerTest extends InstrumentationTestCase { |
+@RunWith(ChromeJUnit4ClassRunner.class) |
+public class TabWindowManagerTest { |
private final TabModelSelectorFactory mMockTabModelSelectorFactory = |
new TabModelSelectorFactory() { |
@Override |
@@ -44,9 +51,13 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
return (MockTabModelSelector) manager.requestSelector(activity, activity, requestedIndex); |
} |
+ @Rule |
+ public UiThreadTestRule mRule = new UiThreadTestRule(); |
+ |
/** |
* Test that a single {@link Activity} can request a {@link TabModelSelector}. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
@@ -56,18 +67,19 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
ChromeActivity activity0 = buildActivity(); |
TabModelSelector selector0 = requestSelector(activity0, 0); |
- assertNotNull("Was not able to build the TabModelSelector", selector0); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector0); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
} |
/** |
* Test that two {@link Activity}s can request different {@link TabModelSelector}s. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
public void testMultipleActivities() { |
- assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 2); |
+ Assert.assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 2); |
final TabWindowManager manager = TabWindowManager.getInstance(); |
ChromeActivity activity0 = buildActivity(); |
@@ -75,25 +87,26 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
TabModelSelector selector0 = requestSelector(activity0, 0); |
TabModelSelector selector1 = requestSelector(activity1, 1); |
- assertNotNull("Was not able to build the TabModelSelector", selector0); |
- assertNotNull("Was not able to build the TabModelSelector", selector1); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
- assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity1)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector0); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector1); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
+ Assert.assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity1)); |
} |
/** |
* Test that trying to have too many {@link Activity}s requesting {@link TabModelSelector}s is |
* properly capped and returns {@code null}. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
public void testTooManyActivities() { |
for (int i = 0; i < TabWindowManager.MAX_SIMULTANEOUS_SELECTORS; i++) { |
- assertNotNull("Could not build selector", requestSelector(buildActivity(), 0)); |
+ Assert.assertNotNull("Could not build selector", requestSelector(buildActivity(), 0)); |
} |
- assertNull("Built selectors past the max number supported", |
+ Assert.assertNull("Built selectors past the max number supported", |
requestSelector(buildActivity(), 0)); |
} |
@@ -101,11 +114,12 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
* Test that requesting the same {@link TabModelSelector} index will fall back and return a |
* model for a different available index instead. In this case, a higher index (0 -> 1). |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
public void testIndexFallback() { |
- assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 2); |
+ Assert.assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 2); |
final TabWindowManager manager = TabWindowManager.getInstance(); |
@@ -115,21 +129,22 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
// Request 0 again, but should get 1 instead. |
TabModelSelector selector1 = requestSelector(activity1, 0); |
- assertNotNull("Was not able to build the TabModelSelector", selector0); |
- assertNotNull("Was not able to build the TabModelSelector", selector1); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
- assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity1)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector0); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector1); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
+ Assert.assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity1)); |
} |
/** |
* Test that requesting the same {@link TabModelSelector} index will fall back and return a |
* model for a different available index instead. In this case, a lower index (2 -> 0). |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
public void testIndexFallback2() { |
- assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 3); |
+ Assert.assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 3); |
final TabWindowManager manager = TabWindowManager.getInstance(); |
@@ -139,15 +154,16 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
// Request 2 again, but should get 0 instead. |
TabModelSelector selector1 = requestSelector(activity1, 2); |
- assertNotNull("Was not able to build the TabModelSelector", selector0); |
- assertNotNull("Was not able to build the TabModelSelector", selector1); |
- assertEquals("Unexpected model index", 2, manager.getIndexForWindow(activity0)); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity1)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector0); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector1); |
+ Assert.assertEquals("Unexpected model index", 2, manager.getIndexForWindow(activity0)); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity1)); |
} |
/** |
* Test that a destroyed {@link Activity} properly gets removed from {@link TabWindowManager}. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
@@ -157,12 +173,12 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
ChromeActivity activity0 = buildActivity(); |
TabModelSelector selector0 = requestSelector(activity0, 0); |
- assertNotNull("Was not able to build the TabModelSelector", selector0); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector0); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
ApplicationStatus.onStateChangeForTesting(activity0, ActivityState.DESTROYED); |
- assertEquals("Still found model", TabWindowManager.INVALID_WINDOW_INDEX, |
+ Assert.assertEquals("Still found model", TabWindowManager.INVALID_WINDOW_INDEX, |
manager.getIndexForWindow(activity0)); |
} |
@@ -170,6 +186,7 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
* Test that an {@link Activity} requesting an index that was previously assigned to a destroyed |
* {@link Activity} can take that {@link TabModelSelector}. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
@@ -179,19 +196,19 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
ChromeActivity activity0 = buildActivity(); |
TabModelSelector selector0 = requestSelector(activity0, 0); |
- assertNotNull("Was not able to build the TabModelSelector", selector0); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector0); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
ApplicationStatus.onStateChangeForTesting(activity0, ActivityState.DESTROYED); |
- assertEquals("Still found model", TabWindowManager.INVALID_WINDOW_INDEX, |
+ Assert.assertEquals("Still found model", TabWindowManager.INVALID_WINDOW_INDEX, |
manager.getIndexForWindow(activity0)); |
ChromeActivity activity1 = buildActivity(); |
TabModelSelector selector1 = requestSelector(activity1, 0); |
- assertNotNull("Was not able to build the TabModelSelector", selector1); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity1)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector1); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity1)); |
} |
/** |
@@ -199,11 +216,12 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
* {@link Activity} can take that {@link TabModelSelector} when there are other |
* {@link Activity}s assigned {@link TabModelSelector}s. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
public void testActivityDeathWithMultipleActivities() { |
- assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 2); |
+ Assert.assertTrue("Not enough selectors", TabWindowManager.MAX_SIMULTANEOUS_SELECTORS >= 2); |
final TabWindowManager manager = TabWindowManager.getInstance(); |
@@ -212,27 +230,28 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
TabModelSelector selector0 = requestSelector(activity0, 0); |
TabModelSelector selector1 = requestSelector(activity1, 1); |
- assertNotNull("Was not able to build the TabModelSelector", selector0); |
- assertNotNull("Was not able to build the TabModelSelector", selector1); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
- assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity1)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector0); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector1); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
+ Assert.assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity1)); |
ApplicationStatus.onStateChangeForTesting(activity1, ActivityState.DESTROYED); |
- assertEquals("Still found model", TabWindowManager.INVALID_WINDOW_INDEX, |
+ Assert.assertEquals("Still found model", TabWindowManager.INVALID_WINDOW_INDEX, |
manager.getIndexForWindow(activity1)); |
ChromeActivity activity2 = buildActivity(); |
TabModelSelector selector2 = requestSelector(activity2, 1); |
- assertNotNull("Was not able to build the TabModelSelector", selector2); |
- assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
- assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity2)); |
+ Assert.assertNotNull("Was not able to build the TabModelSelector", selector2); |
+ Assert.assertEquals("Unexpected model index", 0, manager.getIndexForWindow(activity0)); |
+ Assert.assertEquals("Unexpected model index", 1, manager.getIndexForWindow(activity2)); |
} |
/** |
* Tests that tabExistsInAnySelector() functions properly. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
@@ -246,19 +265,19 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
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)); |
+ Assert.assertFalse(manager.tabExistsInAnySelector(tab1.getId() - 1)); |
+ Assert.assertTrue(manager.tabExistsInAnySelector(tab1.getId())); |
+ Assert.assertTrue(manager.tabExistsInAnySelector(tab2.getId())); |
+ Assert.assertFalse(manager.tabExistsInAnySelector(tab2.getId() + 1)); |
AsyncTabParamsManager.getAsyncTabParams().clear(); |
final int asyncTabId = 123; |
final TabReparentingParams dummyParams = |
new TabReparentingParams(new Tab(0, false, null), null, null); |
- assertFalse(manager.tabExistsInAnySelector(asyncTabId)); |
+ Assert.assertFalse(manager.tabExistsInAnySelector(asyncTabId)); |
AsyncTabParamsManager.add(asyncTabId, dummyParams); |
try { |
- assertTrue(manager.tabExistsInAnySelector(asyncTabId)); |
+ Assert.assertTrue(manager.tabExistsInAnySelector(asyncTabId)); |
} finally { |
AsyncTabParamsManager.getAsyncTabParams().clear(); |
} |
@@ -267,6 +286,7 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
/** |
* Tests that getTabById() functions properly. |
*/ |
+ @Test |
@SmallTest |
@Feature({"Multiwindow"}) |
@UiThreadTest |
@@ -280,19 +300,19 @@ public class TabWindowManagerTest extends InstrumentationTestCase { |
Tab tab1 = selector0.addMockTab(); |
Tab tab2 = selector1.addMockIncognitoTab(); |
- assertNull(manager.getTabById(tab1.getId() - 1)); |
- assertNotNull(manager.getTabById(tab1.getId())); |
- assertNotNull(manager.getTabById(tab2.getId())); |
- assertNull(manager.getTabById(tab2.getId() + 1)); |
+ Assert.assertNull(manager.getTabById(tab1.getId() - 1)); |
+ Assert.assertNotNull(manager.getTabById(tab1.getId())); |
+ Assert.assertNotNull(manager.getTabById(tab2.getId())); |
+ Assert.assertNull(manager.getTabById(tab2.getId() + 1)); |
AsyncTabParamsManager.getAsyncTabParams().clear(); |
final int asyncTabId = 123; |
final TabReparentingParams dummyParams = |
new TabReparentingParams(new Tab(0, false, null), null, null); |
- assertNull(manager.getTabById(asyncTabId)); |
+ Assert.assertNull(manager.getTabById(asyncTabId)); |
AsyncTabParamsManager.add(asyncTabId, dummyParams); |
try { |
- assertNotNull(manager.getTabById(asyncTabId)); |
+ Assert.assertNotNull(manager.getTabById(asyncTabId)); |
} finally { |
AsyncTabParamsManager.getAsyncTabParams().clear(); |
} |