test: stabilize suite and add coverage heatmap (#373)

* test: stabilize suite and add coverage heatmap

* ci: run full bun test suite in pr checks
This commit is contained in:
Kevin Codex
2026-04-05 12:44:54 +08:00
committed by GitHub
parent daa3aa27a0
commit 5ef79546e9
16 changed files with 732 additions and 120 deletions

View File

@@ -1,6 +1,6 @@
const test = require('node:test');
const assert = require('node:assert/strict');
const Module = require('node:module');
const { mock } = require('bun:test');
function createStatus(overrides = {}) {
return {
@@ -30,27 +30,32 @@ function createStatus(overrides = {}) {
function loadExtension() {
const extensionPath = require.resolve('./extension');
delete require.cache[extensionPath];
const originalLoad = Module._load;
Module._load = function patchedLoad(request, parent, isMain) {
if (request === 'vscode') {
return {
workspace: {},
window: {},
env: {},
commands: {},
Uri: { parse: value => value, file: value => value },
};
}
return originalLoad.call(this, request, parent, isMain);
};
try {
return require('./extension');
} finally {
Module._load = originalLoad;
}
mock.module('vscode', () => ({
workspace: {
workspaceFolders: [],
getConfiguration: () => ({
get: (_key, fallback) => fallback,
}),
getWorkspaceFolder: () => null,
},
window: {
activeTextEditor: null,
createWebviewPanel: () => ({}),
registerWebviewViewProvider: () => ({ dispose() {} }),
showInformationMessage: async () => undefined,
showErrorMessage: async () => undefined,
},
env: {
openExternal: async () => true,
},
commands: {
registerCommand: () => ({ dispose() {} }),
executeCommand: async () => undefined,
},
Uri: { parse: value => value, file: value => value },
ViewColumn: { Active: 1 },
}));
return require('./extension');
}
test('renderControlCenterHtml uses the OpenClaude wordmark, status rail, and warm action hierarchy', () => {