| 1234567891011121314151617181920212223242526 |
- import { describe, expect, test } from "bun:test"
- import { createSignal, type JSX } from "solid-js"
- import { showToastV2, toasterV2 } from "@opencode-ai/ui/v2/toast-v2"
- describe("showToastV2", () => {
- test("creates no reactive computations at call time", () => {
- const [tick, setTick] = createSignal(0)
- let reads = 0
- const icon = (() => {
- reads++
- tick()
- return undefined
- }) as unknown as JSX.Element
- const id = showToastV2({ description: "test", icon })
- // Resolving the icon at call time creates an ownerless computation that is
- // never disposed and tracks its dependencies forever; it must only resolve
- // once the toast component renders.
- expect(reads).toBe(0)
- setTick(1)
- expect(reads).toBe(0)
- toasterV2.dismiss(id)
- })
- })
|