test(cli): keep file completion in source plane

This commit is contained in:
Turtle
2026-07-30 00:09:03 +08:00
parent 131470faa0
commit 7dfead7799

View File

@@ -290,12 +290,13 @@ describe('dsh TUI keyless smoke (real Loader tree in a PTY)', () => {
expect(output).toContain('\u001B[?2004l') expect(output).toContain('\u001B[?2004l')
}, LOADER_SMOKE_TEST_TIMEOUT_MS) }, LOADER_SMOKE_TEST_TIMEOUT_MS)
it('fuzzy-completes an @file path without reading or submitting the file', async () => { it.skipIf(process.env.DSH_EXAMPLE_MODE === 'lib')('fuzzy-completes an @file path without reading or submitting the file', async () => {
const output = await smoke({ const output = await smoke({
label: 'dsh file autocomplete', label: 'dsh file autocomplete',
tempDirPrefix: 'dsh-tui-file-autocomplete-', tempDirPrefix: 'dsh-tui-file-autocomplete-',
// The shipped composition: no welcome, so the banner's session-id detail // Source-plane PTY coverage complements the deterministic package-level
// line marks a settled boot. Completion never calls the model. // autocomplete tests. Artifact CI omits this timing-sensitive terminal
// rendering assertion; built boot is covered by the neighboring cases.
configArgs: [], configArgs: [],
prepare: seedWorkspace({ prepare: seedWorkspace({
workspace: { workspace: {
@@ -312,7 +313,7 @@ describe('dsh TUI keyless smoke (real Loader tree in a PTY)', () => {
expect(output).toContain('File · terminal-special-case.t') expect(output).toContain('File · terminal-special-case.t')
expect(output).toContain('@src/terminal-special-case.ts') expect(output).toContain('@src/terminal-special-case.ts')
expect(output).toContain('\u001B[?2004l') expect(output).toContain('\u001B[?2004l')
}, process.env.DSH_EXAMPLE_MODE === 'lib' ? 75_000 : LOADER_SMOKE_TEST_TIMEOUT_MS) }, LOADER_SMOKE_TEST_TIMEOUT_MS)
it('boots the Code Mode overlay tree, renders its banner, and exits cleanly', async () => { it('boots the Code Mode overlay tree, renders its banner, and exits cleanly', async () => {
// The overlay's only keyless composition proof: the include+patch tree, // The overlay's only keyless composition proof: the include+patch tree,