summaryrefslogtreecommitdiff
path: root/tests/src/com/android/dialer/widget/ActionBarControllerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/dialer/widget/ActionBarControllerTest.java')
-rw-r--r--tests/src/com/android/dialer/widget/ActionBarControllerTest.java181
1 files changed, 0 insertions, 181 deletions
diff --git a/tests/src/com/android/dialer/widget/ActionBarControllerTest.java b/tests/src/com/android/dialer/widget/ActionBarControllerTest.java
deleted file mode 100644
index 316c15537..000000000
--- a/tests/src/com/android/dialer/widget/ActionBarControllerTest.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.widget;
-
-import android.content.Context;
-import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.dialer.widget.ActionBarController.ActivityUi;
-
-@SmallTest
-public class ActionBarControllerTest extends InstrumentationTestCase {
-
- private static final int ACTION_BAR_HEIGHT = 100;
- private ActionBarController mActionBarController;
- private SearchEditTextLayout mSearchBox;
- private MockActivityUi mActivityUi;
-
- private class MockActivityUi implements ActivityUi {
- boolean isInSearchUi;
- boolean hasSearchQuery;
- boolean shouldShowActionBar;
- int actionBarHideOffset;
-
- @Override
- public boolean isInSearchUi() {
- return isInSearchUi;
- }
-
- @Override
- public boolean hasSearchQuery() {
- return hasSearchQuery;
- }
-
- @Override
- public boolean shouldShowActionBar() {
- return shouldShowActionBar;
- }
-
- @Override
- public int getActionBarHeight() {
- return ACTION_BAR_HEIGHT;
- }
-
- @Override
- public int getActionBarHideOffset() {
- return actionBarHideOffset;
- }
-
- @Override
- public void setActionBarHideOffset(int offset) {
- actionBarHideOffset = offset;
- }
- }
-
- /**
- * Mock version of the searchbox, that updates its state immediately instead of animating
- */
- private class MockSearchBox extends SearchEditTextLayout {
-
- public MockSearchBox(Context context) {
- super(context, null);
- }
-
- @Override
- public void expand(boolean animate, boolean requestFocus) {
- mIsExpanded = true;
- }
-
- @Override
- public void collapse(boolean animate) {
- mIsExpanded = false;
- }
- }
-
- @Override
- protected void setUp() {
- mActivityUi = new MockActivityUi();
- mSearchBox = new MockSearchBox(this.getInstrumentation().getContext());
- mActionBarController = new ActionBarController(mActivityUi, mSearchBox);
- }
-
- // Tapping the search box should only do something when the activity is not in the search UI
- public void testSearchBoxTapped() {
- mSearchBox.collapse(false);
- mActivityUi.isInSearchUi = false;
- mActionBarController.onSearchBoxTapped();
- assertActionBarState(true, false, false);
-
- // Collapse the search box manually again. This time tapping on the search box should not
- // expand the search box because isInSearchUi is not true.
- mSearchBox.collapse(false);
- mActivityUi.isInSearchUi = true;
- mActionBarController.onSearchBoxTapped();
- assertActionBarState(false, false, false);
- }
-
- // The search box should always end up being faded in and collapsed. If necessary, it should
- // be slid down or up depending on what the state of the action bar was before that.
- public void testOnSearchUiExited() {
- // ActionBar shown previously before entering searchUI
- mSearchBox.expand(true, false);
- mSearchBox.setVisible(false);
- mActivityUi.shouldShowActionBar = true;
- mActionBarController.onSearchUiExited();
- assertActionBarState(false, false, false);
-
- // ActionBar slid up previously before entering searchUI
- mSearchBox.collapse(false);
- mSearchBox.setVisible(false);
- mActivityUi.shouldShowActionBar = false;
- mActionBarController.onSearchUiExited();
- assertActionBarState(false, false, true);
- }
-
- // Depending on what state the UI was in previously, sliding the dialpad down can mean either
- // displaying the expanded search box by sliding it down, displaying the unexpanded search box,
- // or nothing at all.
- public void testOnDialpadDown() {
- // No search query typed in the dialpad and action bar was showing before
- mActivityUi.shouldShowActionBar = true;
- mActivityUi.isInSearchUi = true;
- mSearchBox.setVisible(false);
- mActionBarController.onDialpadDown();
- assertActionBarState(false, false, false);
-
- // No search query typed in the dialpad, but action bar was not showing before
- mActionBarController.slideActionBar(true /* slideUp */, false /* animate */);
- mActivityUi.shouldShowActionBar = false;
- mSearchBox.setVisible(false);
- mActionBarController.onDialpadDown();
- assertActionBarState(false, false, true);
-
- // Something typed in the dialpad - so remain in search UI and slide the expanded search
- // box down
- mActionBarController.slideActionBar(true /* slideUp */, false /* animate */);
- mActivityUi.shouldShowActionBar = true;
- mActivityUi.hasSearchQuery= true;
- mSearchBox.setVisible(false);
- mSearchBox.expand(false, false);
- mActionBarController.onDialpadDown();
- assertActionBarState(true, false, false);
- }
-
- // Sliding the dialpad up should fade out the search box if we weren't already in search, or
- // slide up the search box otherwise
- public void testOnDialpadUp() {
- mActivityUi.isInSearchUi = false;
- mActionBarController.onDialpadUp();
- assertActionBarState(false, true, false);
-
- // In Search UI, with expanded search box and something currently typed in the search box
- mActivityUi.isInSearchUi = true;
- mActivityUi.hasSearchQuery = true;
- mSearchBox.expand(true, false);
- mSearchBox.setVisible(true);
- mActionBarController.slideActionBar(true /* slideUp */, false /* animate */);
- mActionBarController.onDialpadUp();
- assertActionBarState(true, false, true);
- }
-
- private void assertActionBarState(boolean isExpanded, boolean isFadedOut, boolean isSlidUp) {
- assertEquals(isExpanded, mSearchBox.isExpanded());
- assertEquals(isFadedOut, mSearchBox.isFadedOut());
- assertEquals(isSlidUp, mActionBarController.getIsActionBarSlidUp());
- }
-}