mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-13 13:48:30 +00:00
20 lines
703 B
TypeScript
20 lines
703 B
TypeScript
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()
|
|
})
|