Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/ResizeableItemFrameViewModelTest.kt +98 −101 Original line number Diff line number Diff line Loading @@ -17,10 +17,10 @@ package com.android.systemui.communal.ui.viewmodel import androidx.compose.foundation.gestures.DraggableAnchors import androidx.compose.runtime.snapshots.Snapshot import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.compose.runTestWithSnapshots import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope import com.android.systemui.lifecycle.activateIn Loading Loading @@ -229,7 +229,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testTwoSpanGrid_expandElementFromBottom() = runTestWithSnapshots { fun testTwoSpanGrid_expandElementFromBottom() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val adjustedGridLayout = singleSpanGrid.copy(resizeMultiple = 1, totalSpans = 2) Loading @@ -242,7 +243,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testThreeSpanGrid_expandMiddleElementUpwards() = runTestWithSnapshots { fun testThreeSpanGrid_expandMiddleElementUpwards() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) updateGridLayout(singleSpanGrid.copy(currentRow = 1, totalSpans = 3)) Loading @@ -251,7 +253,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testThreeSpanGrid_expandTopElementDownBy2Spans() = runTestWithSnapshots { fun testThreeSpanGrid_expandTopElementDownBy2Spans() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) updateGridLayout(singleSpanGrid.copy(totalSpans = 3)) Loading @@ -261,7 +264,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testTwoSpanGrid_shrinkElementFromBottom() = runTestWithSnapshots { fun testTwoSpanGrid_shrinkElementFromBottom() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) updateGridLayout(singleSpanGrid.copy(totalSpans = 2, currentSpan = 2)) Loading Loading @@ -434,16 +438,19 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testCanShrink_atFullSize_checksBottomDragState() = runTestWithSnapshots { fun testCanShrink_atFullSize_checksBottomDragState() = testScope.runTestWithSnapshots { val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 2, currentRow = 0) updateGridLayout(twoSpanGrid) assertThat(underTest.canShrink()).isTrue() assertThat(underTest.bottomDragState.anchors.toList()).containsAtLeast(0 to 0f, -1 to -45f) assertThat(underTest.bottomDragState.anchors.toList()) .containsAtLeast(0 to 0f, -1 to -45f) } @Test fun testResizeByAccessibility_expandFromBottom_usesTopDragState() = runTestWithSnapshots { fun testResizeByAccessibility_expandFromBottom_usesTopDragState() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 1, currentRow = 1) Loading @@ -455,7 +462,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testResizeByAccessibility_expandFromTop_usesBottomDragState() = runTestWithSnapshots { fun testResizeByAccessibility_expandFromTop_usesBottomDragState() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 1, currentRow = 0) Loading @@ -467,7 +475,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testResizeByAccessibility_shrinkFromFull_usesBottomDragState() = runTestWithSnapshots { fun testResizeByAccessibility_shrinkFromFull_usesBottomDragState() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 2, currentRow = 0) Loading @@ -479,7 +488,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testResizeByAccessibility_cannotResizeAtMinSize() = runTestWithSnapshots { fun testResizeByAccessibility_cannotResizeAtMinSize() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) // Set up grid at minimum size Loading Loading @@ -512,7 +522,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { testScope.runTest { updateGridLayout(singleSpanGrid.copy(resizeMultiple = 0)) } @Test fun testZeroHeights_cannotResize() = runTestWithSnapshots { fun testZeroHeights_cannotResize() = testScope.runTestWithSnapshots { val zeroHeightGrid = singleSpanGrid.copy( totalSpans = 2, Loading Loading @@ -550,20 +561,6 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } } private fun runTestWithSnapshots(testBody: suspend TestScope.() -> Unit) { val globalWriteObserverHandle = Snapshot.registerGlobalWriteObserver { // This is normally done by the compose runtime. Snapshot.sendApplyNotifications() } try { testScope.runTest(testBody = testBody) } finally { globalWriteObserverHandle.dispose() } } private data class GridLayout( val verticalItemSpacingPx: Float, val verticalContentPaddingPx: Float, Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/ResizeableItemFrameViewModelTest.kt +98 −101 Original line number Diff line number Diff line Loading @@ -17,10 +17,10 @@ package com.android.systemui.communal.ui.viewmodel import androidx.compose.foundation.gestures.DraggableAnchors import androidx.compose.runtime.snapshots.Snapshot import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.compose.runTestWithSnapshots import com.android.systemui.coroutines.collectLastValue import com.android.systemui.kosmos.testScope import com.android.systemui.lifecycle.activateIn Loading Loading @@ -229,7 +229,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testTwoSpanGrid_expandElementFromBottom() = runTestWithSnapshots { fun testTwoSpanGrid_expandElementFromBottom() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val adjustedGridLayout = singleSpanGrid.copy(resizeMultiple = 1, totalSpans = 2) Loading @@ -242,7 +243,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testThreeSpanGrid_expandMiddleElementUpwards() = runTestWithSnapshots { fun testThreeSpanGrid_expandMiddleElementUpwards() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) updateGridLayout(singleSpanGrid.copy(currentRow = 1, totalSpans = 3)) Loading @@ -251,7 +253,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testThreeSpanGrid_expandTopElementDownBy2Spans() = runTestWithSnapshots { fun testThreeSpanGrid_expandTopElementDownBy2Spans() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) updateGridLayout(singleSpanGrid.copy(totalSpans = 3)) Loading @@ -261,7 +264,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testTwoSpanGrid_shrinkElementFromBottom() = runTestWithSnapshots { fun testTwoSpanGrid_shrinkElementFromBottom() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) updateGridLayout(singleSpanGrid.copy(totalSpans = 2, currentSpan = 2)) Loading Loading @@ -434,16 +438,19 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testCanShrink_atFullSize_checksBottomDragState() = runTestWithSnapshots { fun testCanShrink_atFullSize_checksBottomDragState() = testScope.runTestWithSnapshots { val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 2, currentRow = 0) updateGridLayout(twoSpanGrid) assertThat(underTest.canShrink()).isTrue() assertThat(underTest.bottomDragState.anchors.toList()).containsAtLeast(0 to 0f, -1 to -45f) assertThat(underTest.bottomDragState.anchors.toList()) .containsAtLeast(0 to 0f, -1 to -45f) } @Test fun testResizeByAccessibility_expandFromBottom_usesTopDragState() = runTestWithSnapshots { fun testResizeByAccessibility_expandFromBottom_usesTopDragState() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 1, currentRow = 1) Loading @@ -455,7 +462,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testResizeByAccessibility_expandFromTop_usesBottomDragState() = runTestWithSnapshots { fun testResizeByAccessibility_expandFromTop_usesBottomDragState() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 1, currentRow = 0) Loading @@ -467,7 +475,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testResizeByAccessibility_shrinkFromFull_usesBottomDragState() = runTestWithSnapshots { fun testResizeByAccessibility_shrinkFromFull_usesBottomDragState() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) val twoSpanGrid = singleSpanGrid.copy(totalSpans = 2, currentSpan = 2, currentRow = 0) Loading @@ -479,7 +488,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } @Test fun testResizeByAccessibility_cannotResizeAtMinSize() = runTestWithSnapshots { fun testResizeByAccessibility_cannotResizeAtMinSize() = testScope.runTestWithSnapshots { val resizeInfo by collectLastValue(underTest.resizeInfo) // Set up grid at minimum size Loading Loading @@ -512,7 +522,8 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { testScope.runTest { updateGridLayout(singleSpanGrid.copy(resizeMultiple = 0)) } @Test fun testZeroHeights_cannotResize() = runTestWithSnapshots { fun testZeroHeights_cannotResize() = testScope.runTestWithSnapshots { val zeroHeightGrid = singleSpanGrid.copy( totalSpans = 2, Loading Loading @@ -550,20 +561,6 @@ class ResizeableItemFrameViewModelTest : SysuiTestCase() { } } private fun runTestWithSnapshots(testBody: suspend TestScope.() -> Unit) { val globalWriteObserverHandle = Snapshot.registerGlobalWriteObserver { // This is normally done by the compose runtime. Snapshot.sendApplyNotifications() } try { testScope.runTest(testBody = testBody) } finally { globalWriteObserverHandle.dispose() } } private data class GridLayout( val verticalItemSpacingPx: Float, val verticalContentPaddingPx: Float, Loading