Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa1f4c9f authored by Brian Isganitis's avatar Brian Isganitis
Browse files

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
parent b09b1a73
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -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) {