import * as assert from 'assert'; import * as vscode from 'vscode'; import { ESLintAdapter } from '../adapters/eslint'; import { StylelintAdapter } from '../adapters/stylelint'; suite('Adapter Tests', () => { test('ESLintAdapter has correct id and languages', () => { const adapter = new ESLintAdapter(); assert.strictEqual(adapter.id, 'eslint'); assert.deepStrictEqual(adapter.supportedLanguages, ['javascript', 'typescript']); }); test('StylelintAdapter has correct id and languages', () => { const adapter = new StylelintAdapter(); assert.strictEqual(adapter.id, 'stylelint'); assert.deepStrictEqual(adapter.supportedLanguages, ['css']); }); test('ESLintAdapter check returns AdapterResult structure', async () => { const adapter = new ESLintAdapter(); if (!adapter.isAvailable()) { return; } const doc = await vscode.workspace.openTextDocument({ content: 'const x = 1;\nconsole.log(x);\n', language: 'javascript', }); const result = await adapter.check(doc, __dirname); assert.ok(result.status === 'ok' || result.status === 'tool-unavailable'); assert.ok(Array.isArray(result.diagnostics)); }); });