CoolFace
Datasetpublic

basant307/AI_Governance_Project

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes48downloads
LspConnectionFactory.test.ts56 linesDownload Raw Back to lsp
1/**2 * @license3 * Copyright 2025 Qwen Team4 * SPDX-License-Identifier: Apache-2.05 */6 7import { describe, expect, it } from 'vitest';8import { LspConnectionFactory } from './LspConnectionFactory.js';9 10describe('LspConnectionFactory', () => {11  it('captures stderr and exit code when stdio server closes during initialize', async () => {12    const connection = await LspConnectionFactory.createStdioConnection(13      process.execPath,14      [15        '-e',16        'process.stderr.write("clangd failed before initialize\\n"); process.exit(7);',17      ],18    );19 20    await expect(connection.connection.initialize({})).rejects.toThrow(21      'LSP connection closed',22    );23 24    if (!connection.processDiagnostics) {25      throw new Error('Expected process diagnostics for stdio connection');26    }27    const diagnostics = connection.processDiagnostics;28 29    expect(diagnostics.stderrTail).toContain('clangd failed before initialize');30    expect(diagnostics.exitCode).toBe(7);31    expect(diagnostics.exitSignal).toBeNull();32  });33 34  it('preserves UTF-8 characters split across stderr chunks', async () => {35    const connection = await LspConnectionFactory.createStdioConnection(36      process.execPath,37      [38        '-e',39        [40          'process.stderr.write(Buffer.from([0xe2]));',41          'setTimeout(() => {',42          'process.stderr.write(Buffer.from([0x98, 0x83, 0x0a]));',43          'process.exit(7);',44          '}, 10);',45        ].join(''),46      ],47    );48 49    await expect(connection.connection.initialize({})).rejects.toThrow(50      'LSP connection closed',51    );52 53    expect(connection.processDiagnostics?.stderrTail).toContain('☃');54  });55});56 
basant307/AI_Governance_Project · CoolFace