diff options
| author | 2023-10-16 16:30:00 -0700 | |
|---|---|---|
| committer | 2023-10-16 16:30:00 -0700 | |
| commit | 0f13c0783e658318a3e9f3a7f6facf0dcb872643 (patch) | |
| tree | 1216e266bf9aa1cc16ad59edb3a82170d882ef9b | |
| parent | 43221a63aacf64947d6150f08ca54080d7e0a421 (diff) | |
[flexiglass] Fixes SceneContainerStartableTest
The reason this was broken on head was because
Flags.SCENE_CONTAINER_ENABLED was false, failing the assumption in
SceneContainerStartableTest and skipping the test.
After setting Flags.SCENE_CONTAINER_ENABLED to true, two methods in the
test were failing, both having to do with the device wakefulness
model/state. I haven't looked into what caused this regression.
The CL fixes the issue by updating the test.
Fix: 305062590
Test: N/A this is a test fix
Flag: scene_container
Change-Id: I48acb03d281b0e78ac6c7decda6fb82eba019fa3
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt b/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt index 3b9621e5c6e0..f30b33334872 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt @@ -42,6 +42,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map +import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Assume.assumeTrue @@ -294,6 +295,7 @@ class SceneContainerStartableTest : SysuiTestCase() { initialSceneKey = SceneKey.Lockscreen, authenticationMethod = AuthenticationMethodModel.Pin, isDeviceUnlocked = false, + startsAwake = false ) assertThat(currentSceneKey).isEqualTo(SceneKey.Lockscreen) underTest.start() @@ -301,6 +303,7 @@ class SceneContainerStartableTest : SysuiTestCase() { utils.deviceEntryRepository.setUnlocked(true) runCurrent() powerInteractor.setAwakeForTest() + runCurrent() assertThat(currentSceneKey).isEqualTo(SceneKey.Gone) } @@ -405,42 +408,43 @@ class SceneContainerStartableTest : SysuiTestCase() { initialSceneKey = SceneKey.Lockscreen, authenticationMethod = AuthenticationMethodModel.Pin, isDeviceUnlocked = false, + startsAwake = false, ) underTest.start() runCurrent() verify(falsingCollector, never()).onScreenTurningOn() verify(falsingCollector, never()).onScreenOnFromTouch() - verify(falsingCollector, never()).onScreenOff() + verify(falsingCollector, times(1)).onScreenOff() powerInteractor.setAwakeForTest(reason = PowerManager.WAKE_REASON_POWER_BUTTON) runCurrent() verify(falsingCollector, times(1)).onScreenTurningOn() verify(falsingCollector, never()).onScreenOnFromTouch() - verify(falsingCollector, never()).onScreenOff() + verify(falsingCollector, times(1)).onScreenOff() powerInteractor.setAsleepForTest() runCurrent() verify(falsingCollector, times(1)).onScreenTurningOn() verify(falsingCollector, never()).onScreenOnFromTouch() - verify(falsingCollector, times(1)).onScreenOff() + verify(falsingCollector, times(2)).onScreenOff() powerInteractor.setAwakeForTest(reason = PowerManager.WAKE_REASON_TAP) runCurrent() verify(falsingCollector, times(1)).onScreenTurningOn() verify(falsingCollector, times(1)).onScreenOnFromTouch() - verify(falsingCollector, times(1)).onScreenOff() + verify(falsingCollector, times(2)).onScreenOff() powerInteractor.setAsleepForTest() runCurrent() verify(falsingCollector, times(1)).onScreenTurningOn() verify(falsingCollector, times(1)).onScreenOnFromTouch() - verify(falsingCollector, times(2)).onScreenOff() + verify(falsingCollector, times(3)).onScreenOff() powerInteractor.setAwakeForTest(reason = PowerManager.WAKE_REASON_POWER_BUTTON) runCurrent() verify(falsingCollector, times(2)).onScreenTurningOn() verify(falsingCollector, times(1)).onScreenOnFromTouch() - verify(falsingCollector, times(2)).onScreenOff() + verify(falsingCollector, times(3)).onScreenOff() } @Test @@ -511,11 +515,12 @@ class SceneContainerStartableTest : SysuiTestCase() { verify(falsingCollector, times(2)).onBouncerHidden() } - private fun prepareState( + private fun TestScope.prepareState( isDeviceUnlocked: Boolean = false, isBypassEnabled: Boolean = false, initialSceneKey: SceneKey? = null, authenticationMethod: AuthenticationMethodModel? = null, + startsAwake: Boolean = true, ): MutableStateFlow<ObservableTransitionState> { assumeTrue(Flags.SCENE_CONTAINER_ENABLED) sceneContainerFlags.enabled = true @@ -539,6 +544,13 @@ class SceneContainerStartableTest : SysuiTestCase() { authenticationMethod != AuthenticationMethodModel.None ) } + if (startsAwake) { + powerInteractor.setAwakeForTest() + } else { + powerInteractor.setAsleepForTest() + } + runCurrent() + return transitionStateFlow } } |