| 1234567891011121314151617181920 |
- import { expect, test } from "bun:test"
- import { useSpring } from "@opencode-ai/ui/motion-spring"
- import { createRoot, createSignal } from "solid-js"
- test("snaps spring progress when the session changes", async () => {
- const state = createRoot((dispose) => {
- const [target, setTarget] = createSignal(0)
- const [session, setSession] = createSignal("session-a")
- const progress = useSpring(target, { visualDuration: 0.3, bounce: 0 }, session)
- return { dispose, progress, setTarget, setSession }
- })
- await new Promise<void>(queueMicrotask)
- state.setTarget(1)
- expect(state.progress()).toBe(0)
- state.setSession("session-b")
- expect(state.progress()).toBe(1)
- state.dispose()
- })
|