import * as assert from 'assert'; import * as vscode from 'vscode'; import * as path from 'path'; import { ESLintAdapter } from '../adapters/eslint'; import { mergeResults } from '../merger/merger'; suite('Pipeline Tests', () => { test('Full pipeline: linter check + merge', async () => { const adapter = new ESLintAdapter(); if (!adapter.isAvailable()) { return; } const doc = await vscode.workspace.openTextDocument({ content: 'var x = 1;\nvar y = 2;\n', language: 'javascript', }); const staticResult = await adapter.check(doc, __dirname); assert.ok(staticResult.status === 'ok'); const report = mergeResults({ staticDiagnostics: staticResult.diagnostics, customRuleResults: [], translatedDiagnostics: [], aiFindings: [], errors: [], degraded: false, startTime: Date.now(), filePath: 'virtual-doc', language: 'javascript', adapterIds: ['eslint'], }); assert.ok(typeof report.duration === 'number'); assert.ok(typeof report.linterCount === 'number'); assert.strictEqual(report.language, 'javascript'); }); });