diff options
Diffstat (limited to 'chrome')
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); |