| Index: chrome/android/javatests/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheetContentControllerTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheetContentControllerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheetContentControllerTest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..632a4a9970c37725f273dc2f3a4284ff55fa2e17
|
| --- /dev/null
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheetContentControllerTest.java
|
| @@ -0,0 +1,122 @@
|
| +// Copyright 2017 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.widget.bottomsheet;
|
| +
|
| +import android.support.test.filters.SmallTest;
|
| +
|
| +import org.chromium.base.ThreadUtils;
|
| +import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.bookmarks.BookmarkSheetContent;
|
| +import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
|
| +import org.chromium.chrome.browser.download.DownloadSheetContent;
|
| +import org.chromium.chrome.browser.download.DownloadUtils;
|
| +import org.chromium.chrome.browser.history.HistoryManagerUtils;
|
| +import org.chromium.chrome.browser.history.HistorySheetContent;
|
| +import org.chromium.chrome.browser.suggestions.SuggestionsBottomSheetContent;
|
| +import org.chromium.chrome.test.BottomSheetTestCaseBase;
|
| +
|
| +import java.util.concurrent.TimeoutException;
|
| +
|
| +/** This class tests the functionality of the {@link BottomSheetContentController}. */
|
| +public class BottomSheetContentControllerTest extends BottomSheetTestCaseBase {
|
| + @Override
|
| + protected void setUp() throws Exception {
|
| + super.setUp();
|
| + setSheetState(BottomSheet.SHEET_STATE_PEEK, false);
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testSelectContent() throws InterruptedException, TimeoutException {
|
| + int contentChangedCount = mObserver.mContentChangedCallbackHelper.getCallCount();
|
| + int openedCount = mObserver.mOpenedCallbackHelper.getCallCount();
|
| + int closedCount = mObserver.mClosedCallbackHelper.getCallCount();
|
| +
|
| + setSheetState(BottomSheet.SHEET_STATE_HALF, false);
|
| + mObserver.mOpenedCallbackHelper.waitForCallback(openedCount, 1);
|
| + openedCount++;
|
| + assertEquals(contentChangedCount, mObserver.mContentChangedCallbackHelper.getCallCount());
|
| + assertEquals(closedCount, mObserver.mClosedCallbackHelper.getCallCount());
|
| +
|
| + selectBottomSheetContent(R.id.action_history);
|
| + mObserver.mContentChangedCallbackHelper.waitForCallback(contentChangedCount, 1);
|
| + contentChangedCount++;
|
| + assertEquals(openedCount, mObserver.mOpenedCallbackHelper.getCallCount());
|
| + assertEquals(closedCount, mObserver.mClosedCallbackHelper.getCallCount());
|
| + assertTrue(mBottomSheet.getCurrentSheetContent() instanceof HistorySheetContent);
|
| + assertEquals(
|
| + R.id.action_history, mBottomSheetContentController.getSelectedItemIdForTests());
|
| +
|
| + setSheetState(BottomSheet.SHEET_STATE_PEEK, false);
|
| + mObserver.mOpenedCallbackHelper.waitForCallback(closedCount, 1);
|
| + mObserver.mContentChangedCallbackHelper.waitForCallback(contentChangedCount, 1);
|
| + assertEquals(openedCount, mObserver.mOpenedCallbackHelper.getCallCount());
|
| + assertTrue(mBottomSheet.getCurrentSheetContent() instanceof SuggestionsBottomSheetContent);
|
| + assertEquals(R.id.action_home, mBottomSheetContentController.getSelectedItemIdForTests());
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testShowContentAndOpenSheet_Bookmarks()
|
| + throws InterruptedException, TimeoutException {
|
| + int initialContentChangedCount = mObserver.mContentChangedCallbackHelper.getCallCount();
|
| + int initialOpenedCount = mObserver.mOpenedCallbackHelper.getCallCount();
|
| +
|
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + BookmarkUtils.showBookmarkManager(getActivity());
|
| + }
|
| + });
|
| +
|
| + mObserver.mContentChangedCallbackHelper.waitForCallback(initialContentChangedCount, 1);
|
| + mObserver.mOpenedCallbackHelper.waitForCallback(initialOpenedCount, 1);
|
| +
|
| + assertTrue(mBottomSheet.getCurrentSheetContent() instanceof BookmarkSheetContent);
|
| + assertEquals(
|
| + R.id.action_bookmarks, mBottomSheetContentController.getSelectedItemIdForTests());
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testShowContentAndOpenSheet_Downloads()
|
| + throws InterruptedException, TimeoutException {
|
| + int initialContentChangedCount = mObserver.mContentChangedCallbackHelper.getCallCount();
|
| + int initialOpenedCount = mObserver.mOpenedCallbackHelper.getCallCount();
|
| +
|
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + DownloadUtils.showDownloadManager(getActivity(), getActivity().getActivityTab());
|
| + }
|
| + });
|
| +
|
| + mObserver.mContentChangedCallbackHelper.waitForCallback(initialContentChangedCount, 1);
|
| + mObserver.mOpenedCallbackHelper.waitForCallback(initialOpenedCount, 1);
|
| +
|
| + assertTrue(mBottomSheet.getCurrentSheetContent() instanceof DownloadSheetContent);
|
| + assertEquals(
|
| + R.id.action_downloads, mBottomSheetContentController.getSelectedItemIdForTests());
|
| + }
|
| +
|
| + @SmallTest
|
| + public void testShowContentAndOpenSheet_History()
|
| + throws InterruptedException, TimeoutException {
|
| + int initialContentChangedCount = mObserver.mContentChangedCallbackHelper.getCallCount();
|
| + int initialOpenedCount = mObserver.mOpenedCallbackHelper.getCallCount();
|
| +
|
| + ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + HistoryManagerUtils.showHistoryManager(
|
| + getActivity(), getActivity().getActivityTab());
|
| + }
|
| + });
|
| +
|
| + mObserver.mContentChangedCallbackHelper.waitForCallback(initialContentChangedCount, 1);
|
| + mObserver.mOpenedCallbackHelper.waitForCallback(initialOpenedCount, 1);
|
| +
|
| + assertTrue(mBottomSheet.getCurrentSheetContent() instanceof HistorySheetContent);
|
| + assertEquals(
|
| + R.id.action_history, mBottomSheetContentController.getSelectedItemIdForTests());
|
| + }
|
| +}
|
|
|