summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/RestoreMigrateTest.java25
-rw-r--r--chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModel.java22
-rw-r--r--chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModelSelector.java8
3 files changed, 35 insertions, 20 deletions
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/RestoreMigrateTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/RestoreMigrateTest.java
index f445fd0..8434d03 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/RestoreMigrateTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/RestoreMigrateTest.java
@@ -2,16 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-package com.google.android.apps.chrome;
+package org.chromium.chrome.browser.tabmodel;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import org.chromium.base.ThreadUtils;
import org.chromium.chrome.browser.TabState;
-import org.chromium.chrome.browser.tabmodel.TabList;
-import org.chromium.chrome.browser.tabmodel.TabModelSelector;
-import org.chromium.chrome.browser.tabmodel.TabPersistentStore;
import org.chromium.chrome.browser.util.StreamUtil;
import org.chromium.chrome.test.util.ApplicationData;
import org.chromium.chrome.test.util.browser.tabmodel.MockTabModelSelector;
@@ -81,7 +78,7 @@ public class RestoreMigrateTest extends InstrumentationTestCase {
assertTrue("Could not create tab 3 file", tab3.createNewFile());
// Build the TabPersistentStore which will try to move the files.
- MockTabModelSelector selector = new MockTabModelSelector(0, 0);
+ MockTabModelSelector selector = new MockTabModelSelector(0, 0, null);
TabPersistentStore store = new TabPersistentStore(selector, 0,
getInstrumentation().getTargetContext(), null, null);
TabPersistentStore.waitForMigrationToFinish();
@@ -143,7 +140,7 @@ public class RestoreMigrateTest extends InstrumentationTestCase {
assertTrue("Could not create new state file", newStateFile.createNewFile());
// Build the TabPersistentStore which will try to move the files.
- MockTabModelSelector selector = new MockTabModelSelector(0, 0);
+ MockTabModelSelector selector = new MockTabModelSelector(0, 0, null);
TabPersistentStore store = new TabPersistentStore(selector, 0,
getInstrumentation().getTargetContext(), null, null);
TabPersistentStore.waitForMigrationToFinish();
@@ -188,7 +185,7 @@ public class RestoreMigrateTest extends InstrumentationTestCase {
assertTrue("Could not create other file", otherFile.createNewFile());
// Build the TabPersistentStore which will try to move the files.
- MockTabModelSelector selector = new MockTabModelSelector(0, 0);
+ MockTabModelSelector selector = new MockTabModelSelector(0, 0, null);
TabPersistentStore store = new TabPersistentStore(selector, 0,
getInstrumentation().getTargetContext(), null, null);
TabPersistentStore.waitForMigrationToFinish();
@@ -216,13 +213,13 @@ public class RestoreMigrateTest extends InstrumentationTestCase {
*/
@SmallTest
public void testFindsMaxIdProperly() throws IOException {
- TabModelSelector selector0 = new MockTabModelSelector(1, 1);
- TabModelSelector selector1 = new MockTabModelSelector(1, 1);
+ TabModelSelector selector0 = new MockTabModelSelector(1, 1, null);
+ TabModelSelector selector1 = new MockTabModelSelector(1, 1, null);
writeStateFile(selector0, 0);
writeStateFile(selector1, 1);
- TabModelSelector selectorIn = new MockTabModelSelector(0, 0);
+ TabModelSelector selectorIn = new MockTabModelSelector(0, 0, null);
TabPersistentStore storeIn = new TabPersistentStore(selectorIn, 0,
getInstrumentation().getTargetContext(), null, null);
@@ -239,14 +236,14 @@ public class RestoreMigrateTest extends InstrumentationTestCase {
*/
@SmallTest
public void testOnlyLoadsSingleModel() throws IOException {
- TabModelSelector selector0 = new MockTabModelSelector(3, 3);
- TabModelSelector selector1 = new MockTabModelSelector(2, 1);
+ TabModelSelector selector0 = new MockTabModelSelector(3, 3, null);
+ TabModelSelector selector1 = new MockTabModelSelector(2, 1, null);
writeStateFile(selector0, 0);
writeStateFile(selector1, 1);
- TabModelSelector selectorIn0 = new MockTabModelSelector(0, 0);
- TabModelSelector selectorIn1 = new MockTabModelSelector(0, 0);
+ TabModelSelector selectorIn0 = new MockTabModelSelector(0, 0, null);
+ TabModelSelector selectorIn1 = new MockTabModelSelector(0, 0, null);
TabPersistentStore storeIn0 = new TabPersistentStore(selectorIn0, 0,
getInstrumentation().getTargetContext(), null, null);
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModel.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModel.java
index feeefa0..27b28ea 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModel.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModel.java
@@ -14,17 +14,35 @@ import java.util.ArrayList;
* Almost empty implementation to mock a TabModel. It only handles tab creation and queries.
*/
public class MockTabModel extends EmptyTabModel {
+ /**
+ * Used to create different kinds of Tabs. If a MockTabModelDelegate is not provided, regular
+ * Tabs are produced.
+ */
+ public interface MockTabModelDelegate {
+ /**
+ * Creates a Tab.
+ * @param id ID of the Tab.
+ * @param incognito Whether the Tab is incognito.
+ * @return Tab that is created.
+ */
+ public Tab createTab(int id, boolean incognito);
+ }
+
private int mIndex = TabModel.INVALID_TAB_INDEX;
private final ArrayList<Tab> mTabs = new ArrayList<Tab>();
private final boolean mIncognito;
+ private final MockTabModelDelegate mDelegate;
- public MockTabModel(boolean incognito) {
+ public MockTabModel(boolean incognito, MockTabModelDelegate delegate) {
mIncognito = incognito;
+ mDelegate = delegate;
}
public void addTab(int id) {
- mTabs.add(new Tab(id, isIncognito(), null, null));
+ Tab tab = mDelegate == null
+ ? new Tab(id, isIncognito(), null, null) : mDelegate.createTab(id, isIncognito());
+ mTabs.add(tab);
}
@Override
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModelSelector.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModelSelector.java
index d86367d..c45a5e4 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModelSelector.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/browser/tabmodel/MockTabModelSelector.java
@@ -16,14 +16,14 @@ import org.chromium.content_public.browser.LoadUrlParams;
* Mock of a basic {@link TabModelSelector}. It supports 2 {@link TabModel}: standard and incognito.
*/
public class MockTabModelSelector extends TabModelSelectorBase {
-
// Offsetting the id compared to the index helps greatly when debugging.
public static final int ID_OFFSET = 1000;
public static final int INCOGNITO_ID_OFFSET = 2000;
- public MockTabModelSelector(int tabCount, int incognitoTabCount) {
+ public MockTabModelSelector(
+ int tabCount, int incognitoTabCount, MockTabModel.MockTabModelDelegate delegate) {
super();
- MockTabModel tabModel = new MockTabModel(false);
+ MockTabModel tabModel = new MockTabModel(false, delegate);
if (tabCount > 0) {
for (int i = 0; i < tabCount; i++) {
tabModel.addTab(ID_OFFSET + i);
@@ -31,7 +31,7 @@ public class MockTabModelSelector extends TabModelSelectorBase {
TabModelUtils.setIndex(tabModel, 0);
}
- MockTabModel incognitoTabModel = new MockTabModel(true);
+ MockTabModel incognitoTabModel = new MockTabModel(true, delegate);
if (incognitoTabCount > 0) {
for (int i = 0; i < incognitoTabCount; i++) {
incognitoTabModel.addTab(INCOGNITO_ID_OFFSET + tabCount + i);