import * as assert from "assert"; import * as vscode from "vscode"; // Regression for #8: with NO workspace folder open, activate() used to return // before registering the F2/F3 commands, so the palette errored with // "command 'cowriting.editSelection' not found". The fix registers warning // stubs instead. This suite runs in a second EDH pass launched WITHOUT a // folder (see runTest.ts). suite("no-workspace activation (#8)", () => { test("EDH really has no workspace folder", () => { assert.strictEqual(vscode.workspace.workspaceFolders, undefined); }); test("all contributed coauthoring commands are registered as warning stubs", async () => { const ext = vscode.extensions.getExtension("benstull.vscode-cowriting-plugin")!; const api = await ext.activate(); assert.strictEqual(api, undefined, "no-root activation returns no API"); const all = await vscode.commands.getCommands(true); for (const command of [ "cowriting.createThread", "cowriting.reply", "cowriting.resolveThread", "cowriting.reopenThread", "cowriting.editSelection", "cowriting.toggleAttribution", "cowriting.applyAgentEdit", "cowriting.acceptProposal", "cowriting.rejectProposal", "cowriting.proposeAgentEdit", ]) { assert.ok(all.includes(command), `${command} is registered`); } }); test("invoking a stub does not throw (shows a warning instead)", async () => { await vscode.commands.executeCommand("cowriting.editSelection"); await vscode.commands.executeCommand("cowriting.createThread"); }); });