"use strict"; const assert = require("node:assert"); const { test } = require("node:test"); const { installVsCodeHost } = require("./vscode-host.js"); // These extraction helpers are pure, but their module also registers VS Code // providers at runtime. Supply a minimal host shim for unit tests. const restoreHost = installVsCodeHost({}); const { extractRouteParams, extractStates } = require("../src/completion"); restoreHost(); test("extracts dynamic route params from filename", () => { const document = { fileName: "apps/sso/app/pages/organizations/[organization]/members/[member].wrn", }; assert.deepEqual(extractRouteParams(document), ["organization", "member"]); }); test("extracts WRN states", () => { const document = { getText() { return ` page Test { state token = ctx.params.token state loading = false } `; }, }; assert.deepEqual(extractStates(document), ["token", "loading"]); });