From fa1f4c9f79bfceca06a01b385aef751305b82a32 Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Wed, 12 Jun 2024 19:56:43 -0400 Subject: [PATCH] Add test for toggleSearch. Focus is not requested until the open animation finishes, so we need to emulate the animation completing. Test: TaskbarAllAppsControllerTest Flag: TEST_ONLY Fix: 346394798 Change-Id: I5ba57e9bb1813c159599b31404a28ef10c85e3ee --- .../allapps/TaskbarAllAppsControllerTest.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsControllerTest.kt b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsControllerTest.kt index c09dcf27de..fe4e2d2f70 100644 --- a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsControllerTest.kt +++ b/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/allapps/TaskbarAllAppsControllerTest.kt @@ -16,6 +16,7 @@ package com.android.launcher3.taskbar.allapps +import android.animation.AnimatorTestRule import android.content.ComponentName import android.content.Intent import android.os.Process @@ -42,6 +43,7 @@ import org.junit.runner.RunWith class TaskbarAllAppsControllerTest { @get:Rule val taskbarUnitTestRule = TaskbarUnitTestRule() + @get:Rule val animatorTestRule = AnimatorTestRule(this) @InjectController lateinit var allAppsController: TaskbarAllAppsController @InjectController lateinit var overlayController: TaskbarOverlayController @@ -166,6 +168,21 @@ class TaskbarAllAppsControllerTest { assertThat(btv.hasDot()).isTrue() } + @Test + fun testToggleSearch_searchEditTextFocused() { + getInstrumentation().runOnMainSync { allAppsController.toggleSearch() } + getInstrumentation().runOnMainSync { + // All Apps is now attached to window. Open animation is posted but not started. + } + + getInstrumentation().runOnMainSync { + // Animation has started. Advance to end of animation. + animatorTestRule.advanceTimeBy(overlayController.openDuration.toLong()) + } + val editText = overlayController.requestWindow().appsView.searchUiManager.editText + assertThat(editText?.hasFocus()).isTrue() + } + private companion object { private val TEST_APPS = Array(16) {