tcmts.cli.test.e2e.lsp

Types

Keep type
What withChildren hands a test: keeps a process, to kill when the test ends.
Msg type

Server

client (keep: Keep) => { request: (method: string, params: unknown) => Promise<any>; notify: (method: stri…
A minimal LSP client: framed JSON-RPC over the server's stdio.

Shared

at (text: string, needle: string, delta?: number) => { line: number; character: number; }
titles (lenses: { command: { title: string; }; }[]) => string[]

Tests

testAppsAndDataInEditor () => Promise<void>
apps and data in the editor: roles, an app's parts, tables, rows, migrating
testChangesInEditor () => Promise<void>
The Changes view's data: this branch's history, newest first, what an entry changed (an edit with its code before and after as documents, what was re-hashed because of it, a rename), and the branches with how many names differ.
testCodeSearchInEditor () => Promise<void>
Code search in the editor: lines of definitions (as their documents read, with current names) and pages with the text, by definition; a rename made in a terminal is in the next search.
testCodebaseInEditor () => Promise<void>
the codebase in the editor: tree, rendered views, definition, references, symbols, type search, edit
testDebugging () => Promise<void>
debugging from the editor: launch configurations for a definition, a test and an app
testLanguageServer () => Promise<void>
the language server: status lenses, save commands, watch values, hovers, tcm diagnostics
testPackagesInEditor () => Promise<void>
packages in the editor: the lock, what uses each package, a page with its README and API, upgrading
testPages () => Promise<void>
pages: a definition's rendered doc and linked source, a namespace's README, and the finder
testReleasesInEditor () => Promise<void>
releases in the editor: packages, the next release and why, drafting, releasing, the changelog, packing
testScratchQuickFixes () => Promise<void>
Quick fixes in a scratch file: a codebase name it doesn't import yet is imported from where it is, and a name it imports is edited here too, added to the file.
testVscodeRegistersNoServerCommands () => Promise<void>
the VS Code extension registers none of the commands the server offers (its client registers those)