test(language-server): add end-to-end verification for HTML editing support

Adds a scratch page (kept intentionally, per controller ruling on Task 8)
and one end-to-end test that drives the real language server over LSP
stdio against that page's real text, verifying completion (with the
seo-block negative case tested via a simulated '<' keystroke and
mutation-verified against html-regions.ts), hover, folding ranges,
linked editing, and wrn/tagComplete all work together on realistic
content.

Regenerates routes.gen.ts and wrnexus.generated.d.ts for the new page's
route, required by check:generated-types.

Two checks from the original brief (auto-close-tag insertion and Emmet
Tab-expansion) require a live VS Code Extension Development Host and
are documented as outstanding manual verification in
.superpowers/sdd/2026-08-18-wrn-html-editing/task-8-report.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-18 21:59:19 +05:30
co-authored by Claude Opus 5
parent 92c0920c9b
commit 7e6d8c3bc8
4 changed files with 216 additions and 1 deletions
+3
View File
@@ -9,6 +9,7 @@ export interface Routes {
"/client-only": Record<string, never>;
"/dashboard": Record<string, never>;
"/hello": Record<string, never>;
"/html-editing-check": Record<string, never>;
"/island-demo": Record<string, never>;
"/language-tools": Record<string, never>;
"/layout": Record<string, never>;
@@ -32,6 +33,7 @@ export interface RouteNames {
"client.only": "/client-only";
"dashboard": "/dashboard";
"hello": "/hello";
"html.editing.check": "/html-editing-check";
"island.demo": "/island-demo";
"language.tools": "/language-tools";
"layout": "/layout";
@@ -124,6 +126,7 @@ export function route<N extends RouteName>(
"client.only": "/client-only",
"dashboard": "/dashboard",
"hello": "/hello",
"html.editing.check": "/html-editing-check",
"island.demo": "/island-demo",
"language.tools": "/language-tools",
"layout": "/layout",