test: Wave 4 — 补充 fling 速度阈值交互测试
- test: onDragEnd 高速上滑强制折叠(无视 progress 阈值) - test: onDragEnd 高速下滑强制展开(无视 progress 阈值) - test: onExpandDragEnd 高速下滑强制展开 - test: onExpandDragEnd 高速上滑保持折叠 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6f4d62b78f
commit
fb7e19ddc9
@ -327,6 +327,44 @@ class CalendarViewModelStateTest {
|
|||||||
assertEquals(1f, vm.collapseProgress.value, 0.001f)
|
assertEquals(1f, vm.collapseProgress.value, 0.001f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onDragEnd_fastFlingUp_setsCollapsed() {
|
||||||
|
val vm = createViewModel()
|
||||||
|
vm.onDrag(0.1f)
|
||||||
|
vm.onDragEnd(velocityDpPerSec = 900f)
|
||||||
|
assertTrue(vm.isCollapsed.value)
|
||||||
|
assertEquals(1f, vm.collapseProgress.value, 0.001f)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onDragEnd_fastFlingDown_keepsExpanded() {
|
||||||
|
val vm = createViewModel()
|
||||||
|
vm.onDrag(0.9f)
|
||||||
|
vm.onDragEnd(velocityDpPerSec = -900f)
|
||||||
|
assertFalse(vm.isCollapsed.value)
|
||||||
|
assertEquals(0f, vm.collapseProgress.value, 0.001f)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onExpandDragEnd_fastFlingDown_setsExpanded() {
|
||||||
|
val vm = createViewModel()
|
||||||
|
vm.onDrag(1f)
|
||||||
|
vm.onExpandDrag(-0.1f)
|
||||||
|
vm.onExpandDragEnd(velocityDpPerSec = -900f)
|
||||||
|
assertFalse(vm.isCollapsed.value)
|
||||||
|
assertEquals(0f, vm.collapseProgress.value, 0.001f)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun onExpandDragEnd_fastFlingUp_staysCollapsed() {
|
||||||
|
val vm = createViewModel()
|
||||||
|
vm.onDrag(1f)
|
||||||
|
vm.onExpandDrag(-0.9f)
|
||||||
|
vm.onExpandDragEnd(velocityDpPerSec = 900f)
|
||||||
|
assertTrue(vm.isCollapsed.value)
|
||||||
|
assertEquals(1f, vm.collapseProgress.value, 0.001f)
|
||||||
|
}
|
||||||
|
|
||||||
// ---- getMonthDays 与 selectedDate 配合 ----
|
// ---- getMonthDays 与 selectedDate 配合 ----
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user