diff options
| author | 2025-02-26 15:54:08 -0800 | |
|---|---|---|
| committer | 2025-02-26 15:54:08 -0800 | |
| commit | 6c6f0d8da987585b681f70c3d966a528d9a1115d (patch) | |
| tree | 27a547b477f44491b45d4fc9b87734f8490f0cc7 | |
| parent | fc2d083585668c9b8f6c689cda1143c932802ecd (diff) | |
| parent | 9cbe07ea7d3a314a2a5fd244dd329cc23638577a (diff) | |
Merge "Parameterize DesktopDisplayModeControllerTest" into main
| -rw-r--r-- | libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt | 71 |
1 files changed, 41 insertions, 30 deletions
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt index d054de4d6fc1..cc37c440f650 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopDisplayModeControllerTest.kt @@ -26,7 +26,6 @@ import android.platform.test.annotations.DisableFlags import android.platform.test.annotations.EnableFlags import android.provider.Settings import android.provider.Settings.Global.DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS -import android.testing.AndroidTestingRunner import android.view.Display.DEFAULT_DISPLAY import android.view.IWindowManager import android.view.WindowManager.TRANSIT_CHANGE @@ -43,6 +42,8 @@ import com.android.wm.shell.TestRunningTaskInfoBuilder import com.android.wm.shell.desktopmode.desktopwallpaperactivity.DesktopWallpaperActivityTokenProvider import com.android.wm.shell.transition.Transitions import com.google.common.truth.Truth.assertThat +import com.google.testing.junit.testparameterinjector.TestParameter +import com.google.testing.junit.testparameterinjector.TestParameterInjector import org.junit.Before import org.junit.Test import org.junit.runner.RunWith @@ -62,7 +63,7 @@ import org.mockito.kotlin.whenever * Usage: atest WMShellUnitTests:DesktopDisplayModeControllerTest */ @SmallTest -@RunWith(AndroidTestingRunner::class) +@RunWith(TestParameterInjector::class) class DesktopDisplayModeControllerTest : ShellTestCase() { private val transitions = mock<Transitions>() private val rootTaskDisplayAreaOrganizer = mock<RootTaskDisplayAreaOrganizer>() @@ -143,41 +144,24 @@ class DesktopDisplayModeControllerTest : ShellTestCase() { @Test @DisableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING) - fun displayWindowingModeSwitchOnDisplayConnected_fullscreenDisplay_flagDisabled() { - testDisplayWindowingModeSwitch( - defaultWindowingMode = WINDOWING_MODE_FULLSCREEN, - extendedDisplayEnabled = true, - expectToSwitch = false, - ) - } - - @Test - @EnableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING) - fun displayWindowingModeSwitchOnDisplayConnected_extendedDisplayDisabled() { + fun displayWindowingModeSwitchOnDisplayConnected_flagDisabled( + @TestParameter param: ModeSwitchTestCase + ) { testDisplayWindowingModeSwitch( - defaultWindowingMode = WINDOWING_MODE_FULLSCREEN, - extendedDisplayEnabled = false, + param.defaultWindowingMode, + param.extendedDisplayEnabled, + // When the flag is disabled, never switch. expectToSwitch = false, ) } @Test @EnableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING) - fun displayWindowingModeSwitchOnDisplayConnected_fullscreenDisplay() { + fun displayWindowingModeSwitchOnDisplayConnected(@TestParameter param: ModeSwitchTestCase) { testDisplayWindowingModeSwitch( - defaultWindowingMode = WINDOWING_MODE_FULLSCREEN, - extendedDisplayEnabled = true, - expectToSwitch = true, - ) - } - - @Test - @EnableFlags(Flags.FLAG_ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING) - fun displayWindowingModeSwitchOnDisplayConnected_freeformDisplay() { - testDisplayWindowingModeSwitch( - defaultWindowingMode = WINDOWING_MODE_FREEFORM, - extendedDisplayEnabled = true, - expectToSwitch = false, + param.defaultWindowingMode, + param.extendedDisplayEnabled, + param.expectToSwitchByDefault, ) } @@ -249,7 +233,34 @@ class DesktopDisplayModeControllerTest : ShellTestCase() { } } - private companion object { + companion object { const val EXTERNAL_DISPLAY_ID = 100 + + enum class ModeSwitchTestCase( + val defaultWindowingMode: Int, + val extendedDisplayEnabled: Boolean, + val expectToSwitchByDefault: Boolean, + ) { + FULLSCREEN_DISPLAY( + defaultWindowingMode = WINDOWING_MODE_FULLSCREEN, + extendedDisplayEnabled = true, + expectToSwitchByDefault = true, + ), + FULLSCREEN_DISPLAY_MIRRORING( + defaultWindowingMode = WINDOWING_MODE_FULLSCREEN, + extendedDisplayEnabled = false, + expectToSwitchByDefault = false, + ), + FREEFORM_DISPLAY( + defaultWindowingMode = WINDOWING_MODE_FREEFORM, + extendedDisplayEnabled = true, + expectToSwitchByDefault = false, + ), + FREEFORM_DISPLAY_MIRRORING( + defaultWindowingMode = WINDOWING_MODE_FREEFORM, + extendedDisplayEnabled = false, + expectToSwitchByDefault = false, + ), + } } } |