Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: usrnk1 <7547651+usrnk1@users.noreply.github.com> Co-authored-by: James Long <longster@gmail.com> Co-authored-by: opencode-agent[bot] <219766164+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: Jack <jack@anoma.ly> Co-authored-by: opencode <opencode@sst.dev> Co-authored-by: Frank <frank@anoma.ly> Co-authored-by: Jay <53023+jayair@users.noreply.github.com> Co-authored-by: Luke Parker <10430890+Hona@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: Vladimir Glafirov <vglafirov@gitlab.com> Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: Dustin Deus <deusdustin@gmail.com> Co-authored-by: Kit Langton <kit.langton@gmail.com> Co-authored-by: Simon Klee <hello@simonklee.dk> Co-authored-by: Jay <air@live.ca> 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>
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { expect, test } from "bun:test"
|
|
import { createRoot, createSignal } from "solid-js"
|
|
import { createPromptInputTransientState } from "@/components/prompt-input/transient-state"
|
|
|
|
test("resets transient prompt input state when the prompt session changes", () => {
|
|
createRoot((dispose) => {
|
|
const [identity, setIdentity] = createSignal("A")
|
|
const [state, setState] = createPromptInputTransientState(identity, 3)
|
|
setState({
|
|
popover: "slash",
|
|
slashMenu: true,
|
|
slashMenuQuery: "compact",
|
|
historyIndex: 2,
|
|
savedPrompt: {
|
|
prompt: [{ type: "text", content: "draft-A", start: 0, end: 7 }],
|
|
comments: [],
|
|
},
|
|
draggingType: "image",
|
|
mode: "shell",
|
|
applyingHistory: true,
|
|
variantOpen: true,
|
|
})
|
|
|
|
setIdentity("B")
|
|
|
|
expect(state).toMatchObject({
|
|
popover: null,
|
|
slashMenu: false,
|
|
slashMenuQuery: "",
|
|
historyIndex: -1,
|
|
savedPrompt: null,
|
|
placeholder: 3,
|
|
draggingType: null,
|
|
mode: "normal",
|
|
applyingHistory: false,
|
|
variantOpen: false,
|
|
})
|
|
dispose()
|
|
})
|
|
})
|