test: add unit and integration test suite

Add 34 tests (27 unit, 7 integration) using node:test runner:

Unit tests:
- pickServer(), findRoot(), pathToUri(), uriToPath()
- isLspCommand(), listCommands()
- formatHover(), formatDefinition(), formatReferences(), formatDiagnostics()

Integration tests:
- daemon lifecycle (status/stop) on isolated socket
- CLI --no-daemon queries (hover, documentSymbol, diagnostics)

Supporting changes:
- socketPath() honors PI_LSP_SOCKET_PATH env var for test isolation
- test fixtures for valid and broken TypeScript files
- npm test / test:unit / test:integration scripts
This commit is contained in:
2026-04-30 10:36:54 -04:00
parent e131e0e8cd
commit aa7309b363
11 changed files with 698 additions and 2 deletions

View File

@@ -10,5 +10,6 @@
"noEmit": true,
"allowImportingTsExtensions": true
},
"include": ["cli.ts", "daemon.ts", "server.ts", "src/**/*.ts"]
"include": ["cli.ts", "daemon.ts", "server.ts", "src/**/*.ts", "test/**/*.ts"],
"exclude": ["test/fixtures/sample-broken.ts"]
}