Download packages/app/test-browser/session-ownership.test.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 1.22 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/test-browser/session-ownership.test.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/app/test-browser/session-ownership.test.ts
-
curl -L -o session-ownership.test.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/app/test-browser/session-ownership.test.ts
1.22 kB
| import { describe, expect, test } from "bun:test" | |
| import { createRoot, createSignal } from "solid-js" | |
| import { createSessionOwnership } from "@/pages/session/session-ownership" | |
| describe("createSessionOwnership", () => { | |
| test("invalidates captured work when its Solid owner is disposed", () => { | |
| let current = true | |
| createRoot((dispose) => { | |
| const owner = createSessionOwnership(() => "A").capture() | |
| dispose() | |
| current = owner.current() | |
| }) | |
| expect(current).toBe(false) | |
| }) | |
| test("does not run a continuation after navigation", () => { | |
| createRoot((dispose) => { | |
| const [session, setSession] = createSignal("A") | |
| const owner = createSessionOwnership(session).capture() | |
| let ran = false | |
| setSession("B") | |
| owner.run(() => { | |
| ran = true | |
| }) | |
| expect(ran).toBe(false) | |
| dispose() | |
| }) | |
| }) | |
| test("does not revive a continuation after A to B to A navigation", () => { | |
| createRoot((dispose) => { | |
| const [session, setSession] = createSignal("A") | |
| const owner = createSessionOwnership(session).capture() | |
| setSession("B") | |
| setSession("A") | |
| expect(owner.current()).toBe(false) | |
| dispose() | |
| }) | |
| }) | |
| }) | |