UNPKG

@shopify/theme-language-server-common

Version:

<h1 align="center" style="position: relative;" > <br> <img src="https://github.com/Shopify/theme-check-vscode/blob/main/images/shopify_glyph.png?raw=true" alt="logo" width="141" height="160"> <br> Theme Language Server </h1>

56 lines (52 loc) 1.99 kB
import { path } from '@shopify/theme-check-common'; import { beforeEach, describe, expect, it, vi } from 'vitest'; import { Connection } from 'vscode-languageserver'; import { URI } from 'vscode-uri'; import { ClientCapabilities } from '../../ClientCapabilities'; import { DiagnosticsManager, makeRunChecks } from '../../diagnostics'; import { DocumentManager } from '../../documents'; import { DebouncedFunction } from '../../utils'; import { RunChecksProvider } from './RunChecksProvider'; describe('Unit: RunChecksProvider', () => { const uri1 = path.normalize(URI.file('/path/to/file1.liquid')); const uri2 = path.normalize(URI.file('/path/to/file2.liquid')); const contents1 = ` {% assign x = 1 %} <script src="2.js"></script> <script src="3.js"></script> `; const contents2 = ` {% assign y = 2 %} <script src="4.js"></script> <script src="5.js"></script> `; const version = 0; let connection: Connection; let documentManager: DocumentManager; let diagnosticsManager: DiagnosticsManager; let clientCapabilities: ClientCapabilities; let runChecks: DebouncedFunction<ReturnType<typeof makeRunChecks>>; let runChecksProvider: RunChecksProvider; beforeEach(() => { connection = {} as Connection; documentManager = new DocumentManager(); diagnosticsManager = new DiagnosticsManager(connection); clientCapabilities = new ClientCapabilities(); runChecks = vi.fn() as any as RunChecksProvider['runChecks']; runChecksProvider = new RunChecksProvider( documentManager, diagnosticsManager, clientCapabilities, connection, runChecks, ); documentManager.open(uri1, contents1, version); documentManager.open(uri2, contents2, version); }); describe('execute', () => { it('calls runChecks with the trigger URIs of all the open documents', async () => { await runChecksProvider.execute(); expect(runChecks).toHaveBeenCalledWith([uri1, uri2]); }); }); });