Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com> Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com> Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com> Co-authored-by: Julian Coy <julian@ex-machina.co> Co-authored-by: Brendan Allan <git@brendonovich.dev> Co-authored-by: usrnk1 <7547651+usrnk1@users.noreply.github.com> Co-authored-by: opencode <opencode@sst.dev> Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com> Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Frank <frank@anoma.ly> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Dustin Deus <deusdustin@gmail.com> Co-authored-by: Kit Langton <kit.langton@gmail.com> Co-authored-by: James Long <longster@gmail.com> Co-authored-by: Simon Klee <hello@simonklee.dk> Co-authored-by: Jay <air@live.ca> Co-authored-by: Jack <jack@anoma.ly> Co-authored-by: David Hill <1879069+iamdavidhill@users.noreply.github.com> Co-authored-by: Aiden Cline <aidenpcline@gmail.com> Co-authored-by: James Long <jlongster@users.noreply.github.com> Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com> Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com> Co-authored-by: Victor Navarro <vn4varro@gmail.com>
29 lines
1 KiB
TypeScript
29 lines
1 KiB
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import { createRoot } from "solid-js"
|
|
import { createPromptState, DEFAULT_PROMPT } from "./prompt-state"
|
|
|
|
describe("prompt state initialization", () => {
|
|
test("initializes prompt text, cursor, and model together", () => {
|
|
createRoot((dispose) => {
|
|
const model = { providerID: "anthropic", modelID: "claude", variant: "high" }
|
|
const prompt = createPromptState({ prompt: "hello", model })
|
|
|
|
expect(prompt.current()).toEqual([{ type: "text", content: "hello", start: 0, end: 5 }])
|
|
expect(prompt.cursor()).toBe(5)
|
|
expect(prompt.model.current()).toEqual(model)
|
|
expect(prompt.model.current()).not.toBe(model)
|
|
dispose()
|
|
})
|
|
})
|
|
|
|
test("uses the default prompt without initial values", () => {
|
|
createRoot((dispose) => {
|
|
const prompt = createPromptState()
|
|
|
|
expect(prompt.current()).toEqual(DEFAULT_PROMPT)
|
|
expect(prompt.cursor()).toBeUndefined()
|
|
expect(prompt.model.current()).toBeUndefined()
|
|
dispose()
|
|
})
|
|
})
|
|
})
|