| Index: chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java
|
| deleted file mode 100644
|
| index d1edfcf0f48d03542f86254d13fdc9a64f2882db..0000000000000000000000000000000000000000
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorTabObserverTest.java
|
| +++ /dev/null
|
| @@ -1,245 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.chrome.browser.tabmodel;
|
| -
|
| -import android.test.MoreAsserts;
|
| -import android.test.UiThreadTest;
|
| -import android.test.suitebuilder.annotation.SmallTest;
|
| -
|
| -import org.chromium.base.CommandLine;
|
| -import org.chromium.base.ObserverList;
|
| -import org.chromium.base.ThreadUtils;
|
| -import org.chromium.chrome.browser.Tab;
|
| -import org.chromium.chrome.browser.TabObserver;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
|
| -import org.chromium.content.browser.test.NativeLibraryTestBase;
|
| -import org.chromium.content_public.browser.LoadUrlParams;
|
| -import org.chromium.content_public.browser.WebContents;
|
| -import org.chromium.ui.base.WindowAndroid;
|
| -
|
| -/**
|
| - * Tests for the TabModelSelectorTabObserver.
|
| - */
|
| -public class TabModelSelectorTabObserverTest extends NativeLibraryTestBase {
|
| -
|
| - private TabModelSelectorBase mSelector;
|
| - private TabModel mNormalTabModel;
|
| - private TabModel mIncognitoTabModel;
|
| -
|
| - private WindowAndroid mWindowAndroid;
|
| -
|
| - @Override
|
| - public void setUp() throws Exception {
|
| - super.setUp();
|
| -
|
| - CommandLine.init(null);
|
| - loadNativeLibraryAndInitBrowserProcess();
|
| -
|
| - ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - initialize();
|
| - }
|
| - });
|
| - }
|
| -
|
| - private void initialize() {
|
| - mWindowAndroid = new WindowAndroid(
|
| - getInstrumentation().getTargetContext().getApplicationContext());
|
| -
|
| - mSelector = new TabModelSelectorBase() {
|
| - @Override
|
| - public Tab openNewTab(LoadUrlParams loadUrlParams, TabLaunchType type, Tab parent,
|
| - boolean incognito) {
|
| - return null;
|
| - }
|
| - };
|
| -
|
| - TabModelOrderController orderController = new TabModelOrderController(mSelector);
|
| - TabModelDelegate delegate = new TabModelDelegate() {
|
| - @Override
|
| - public void selectModel(boolean incognito) {
|
| - mSelector.selectModel(incognito);
|
| - }
|
| -
|
| - @Override
|
| - public void requestToShowTab(Tab tab, TabSelectionType type) {
|
| - }
|
| -
|
| - @Override
|
| - public boolean isSessionRestoreInProgress() {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean isInOverviewMode() {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public TabModel getModel(boolean incognito) {
|
| - return mSelector.getModel(incognito);
|
| - }
|
| -
|
| - @Override
|
| - public TabModel getCurrentModel() {
|
| - return mSelector.getCurrentModel();
|
| - }
|
| -
|
| - @Override
|
| - public boolean closeAllTabsRequest(boolean incognito) {
|
| - return false;
|
| - }
|
| - };
|
| - mNormalTabModel = new TabModelBase(false, orderController, delegate) {
|
| - @Override
|
| - protected Tab createTabWithWebContents(boolean incognito, WebContents webContents,
|
| - int parentId) {
|
| - return null;
|
| - }
|
| -
|
| - @Override
|
| - protected Tab createNewTabForDevTools(String url) {
|
| - return null;
|
| - }
|
| - };
|
| -
|
| - mIncognitoTabModel = new TabModelBase(true, orderController, delegate) {
|
| - @Override
|
| - protected Tab createTabWithWebContents(boolean incognito, WebContents webContents,
|
| - int parentId) {
|
| - return null;
|
| - }
|
| -
|
| - @Override
|
| - protected Tab createNewTabForDevTools(String url) {
|
| - return null;
|
| - }
|
| - };
|
| -
|
| - mSelector.initialize(false, mNormalTabModel, mIncognitoTabModel);
|
| - }
|
| -
|
| - @UiThreadTest
|
| - @SmallTest
|
| - public void testAddingTab() {
|
| - TestTabModelSelectorTabObserver observer = new TestTabModelSelectorTabObserver();
|
| - TestTab tab = new TestTab(false);
|
| - assertTabDoesNotHaveObserver(tab, observer);
|
| - mNormalTabModel.addTab(tab, 0, TabModel.TabLaunchType.FROM_LINK);
|
| - assertTabHasObserver(tab, observer);
|
| - }
|
| -
|
| - @UiThreadTest
|
| - @SmallTest
|
| - public void testRemovingTab() {
|
| - TestTabModelSelectorTabObserver observer = new TestTabModelSelectorTabObserver();
|
| - TestTab tab = new TestTab(false);
|
| - mNormalTabModel.addTab(tab, 0, TabModel.TabLaunchType.FROM_LINK);
|
| - assertTabHasObserver(tab, observer);
|
| - mNormalTabModel.closeTab(tab);
|
| - assertTabDoesNotHaveObserver(tab, observer);
|
| - }
|
| -
|
| - @UiThreadTest
|
| - @SmallTest
|
| - public void testPreExistingTabs() {
|
| - TestTab normalTab1 = new TestTab(false);
|
| - mNormalTabModel.addTab(normalTab1, 0, TabModel.TabLaunchType.FROM_LINK);
|
| - TestTab normalTab2 = new TestTab(false);
|
| - mNormalTabModel.addTab(normalTab2, 1, TabModel.TabLaunchType.FROM_LINK);
|
| -
|
| - TestTab incognitoTab1 = new TestTab(true);
|
| - mIncognitoTabModel.addTab(incognitoTab1, 0, TabModel.TabLaunchType.FROM_LINK);
|
| - TestTab incognitoTab2 = new TestTab(true);
|
| - mIncognitoTabModel.addTab(incognitoTab2, 1, TabModel.TabLaunchType.FROM_LINK);
|
| -
|
| - TestTabModelSelectorTabObserver observer = new TestTabModelSelectorTabObserver();
|
| - assertTabHasObserver(normalTab1, observer);
|
| - assertTabHasObserver(normalTab2, observer);
|
| - assertTabHasObserver(incognitoTab1, observer);
|
| - assertTabHasObserver(incognitoTab2, observer);
|
| - }
|
| -
|
| - @UiThreadTest
|
| - @SmallTest
|
| - public void testDestroyRemovesObserver() {
|
| - TestTab normalTab1 = new TestTab(false);
|
| - mNormalTabModel.addTab(normalTab1, 0, TabModel.TabLaunchType.FROM_LINK);
|
| - TestTab incognitoTab1 = new TestTab(true);
|
| - mIncognitoTabModel.addTab(incognitoTab1, 0, TabModel.TabLaunchType.FROM_LINK);
|
| -
|
| - TestTabModelSelectorTabObserver observer = new TestTabModelSelectorTabObserver();
|
| - assertTabHasObserver(normalTab1, observer);
|
| - assertTabHasObserver(incognitoTab1, observer);
|
| -
|
| - observer.destroy();
|
| - assertTabDoesNotHaveObserver(normalTab1, observer);
|
| - assertTabDoesNotHaveObserver(incognitoTab1, observer);
|
| - }
|
| -
|
| - @UiThreadTest
|
| - @SmallTest
|
| - public void testObserverAddedBeforeInitialize() {
|
| - mSelector = new TabModelSelectorBase() {
|
| - @Override
|
| - public Tab openNewTab(LoadUrlParams loadUrlParams, TabLaunchType type, Tab parent,
|
| - boolean incognito) {
|
| - return null;
|
| - }
|
| - };
|
| - TestTabModelSelectorTabObserver observer = new TestTabModelSelectorTabObserver();
|
| - mSelector.initialize(false, mNormalTabModel, mIncognitoTabModel);
|
| -
|
| - TestTab normalTab1 = new TestTab(false);
|
| - mNormalTabModel.addTab(normalTab1, 0, TabModel.TabLaunchType.FROM_LINK);
|
| - assertTabHasObserver(normalTab1, observer);
|
| -
|
| - TestTab incognitoTab1 = new TestTab(true);
|
| - mIncognitoTabModel.addTab(incognitoTab1, 0, TabModel.TabLaunchType.FROM_LINK);
|
| - assertTabHasObserver(incognitoTab1, observer);
|
| - }
|
| -
|
| - private class TestTab extends Tab {
|
| - public TestTab(boolean incognito) {
|
| - super(incognito, null, mWindowAndroid);
|
| - initializeNative();
|
| - }
|
| -
|
| - // Exists to expose the method to the test.
|
| - @Override
|
| - protected ObserverList.RewindableIterator<TabObserver> getTabObservers() {
|
| - return super.getTabObservers();
|
| - }
|
| - }
|
| -
|
| - private class TestTabModelSelectorTabObserver extends TabModelSelectorTabObserver {
|
| - public TestTabModelSelectorTabObserver() {
|
| - super(mSelector);
|
| - }
|
| - }
|
| -
|
| - private void assertTabHasObserver(TestTab tab, TabObserver observer) {
|
| - ObserverList.RewindableIterator<TabObserver> tabObservers = tab.getTabObservers();
|
| - tabObservers.rewind();
|
| - boolean containsObserver = false;
|
| - while (tabObservers.hasNext()) {
|
| - if (tabObservers.next().equals(observer)) {
|
| - containsObserver = true;
|
| - break;
|
| - }
|
| - }
|
| - assertTrue(containsObserver);
|
| - }
|
| -
|
| - private void assertTabDoesNotHaveObserver(TestTab tab, TabObserver observer) {
|
| - ObserverList.RewindableIterator<TabObserver> tabObservers = tab.getTabObservers();
|
| - tabObservers.rewind();
|
| - while (tabObservers.hasNext()) {
|
| - MoreAsserts.assertNotEqual(tabObservers.next(), observer);
|
| - }
|
| - }
|
| -}
|
|
|