Skip to content

Commit e2fab47

Browse files
committed
Remove unused test-utils
1 parent 0c3f3b6 commit e2fab47

File tree

1 file changed

+1
-111
lines changed

1 file changed

+1
-111
lines changed

language-server/src/test-utils.ts

Lines changed: 1 addition & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,118 +1,8 @@
1-
import {
2-
ConfigurationRequest,
3-
DidCloseTextDocumentNotification,
4-
DidOpenTextDocumentNotification,
5-
InitializeRequest,
6-
InitializedNotification,
7-
RegistrationRequest,
8-
SemanticTokensRefreshRequest,
9-
WorkDoneProgressCreateRequest
10-
} from "vscode-languageserver";
11-
import { createConnection } from "vscode-languageserver/node.js";
12-
import { randomUUID } from "node:crypto";
13-
import { Duplex } from "node:stream";
14-
import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
1+
import { mkdtemp, rm, writeFile } from "node:fs/promises";
152
import { tmpdir } from "node:os";
163
import { fileURLToPath, pathToFileURL } from "node:url";
174
import { join } from "node:path";
18-
import { resolveIri } from "@hyperjump/uri";
19-
import { merge } from "merge-anything";
20-
import { buildServer } from "./build-server.js";
215

22-
import type { Connection, InitializeParams } from "vscode-languageserver";
23-
import type { Feature } from "./build-server.js";
24-
import type { DocumentSettings } from "./features/document-settings.js";
25-
26-
27-
export class TestStream extends Duplex {
28-
_write(chunk: string, _encoding: string, done: () => void) {
29-
this.emit("data", chunk);
30-
done();
31-
}
32-
33-
_read(_size: number) {
34-
}
35-
}
36-
37-
export const getTestClient = (features: Feature[]) => {
38-
const up = new TestStream();
39-
const down = new TestStream();
40-
41-
const server = createConnection(up, down);
42-
buildServer(server, features);
43-
44-
const client = createConnection(down, up);
45-
client.listen();
46-
47-
return client;
48-
};
49-
50-
export const initializeServer = async (client: Connection, initParams: Partial<InitializeParams> = {}, settings: Partial<DocumentSettings> | null = null) => {
51-
client.onRequest(RegistrationRequest.type, () => {
52-
// Ignore client/registerCapability request for now
53-
});
54-
55-
client.onRequest(SemanticTokensRefreshRequest.type, () => {
56-
// Ignore workspace/semanticTokens/refresh request for now
57-
});
58-
59-
client.onRequest(WorkDoneProgressCreateRequest.type, () => {
60-
// Ignore window/workDoneProgress/create for now
61-
});
62-
63-
client.onRequest(ConfigurationRequest.type, () => {
64-
return [settings];
65-
});
66-
67-
const defaultInitParams: InitializeParams = {
68-
processId: null,
69-
rootUri: null,
70-
capabilities: {
71-
workspace: {
72-
workspaceFolders: true,
73-
didChangeWatchedFiles: {
74-
dynamicRegistration: true
75-
},
76-
configuration: true,
77-
didChangeConfiguration: {
78-
dynamicRegistration: true
79-
}
80-
},
81-
window: {
82-
workDoneProgress: true
83-
}
84-
}
85-
};
86-
const response = await client.sendRequest(InitializeRequest.type, merge(defaultInitParams, initParams));
87-
88-
await client.sendNotification(InitializedNotification.type, {});
89-
90-
return response.capabilities;
91-
};
92-
93-
export const openDocument = async (client: Connection, uri: string, text?: string) => {
94-
const baseUri = pathToFileURL(`/${randomUUID()}/`).toString();
95-
const documentUri = resolveIri(uri, baseUri);
96-
97-
await client.sendNotification(DidOpenTextDocumentNotification.type, {
98-
textDocument: {
99-
uri: documentUri,
100-
languageId: "json",
101-
version: 0,
102-
text: text ?? await readFile(fileURLToPath(uri), "utf-8")
103-
}
104-
});
105-
106-
return documentUri;
107-
};
108-
109-
export const closeDocument = async (client: Connection, uri: string) => {
110-
await client.sendNotification(DidCloseTextDocumentNotification.type, {
111-
textDocument: {
112-
uri: uri
113-
}
114-
});
115-
};
1166

1177
export const setupWorkspace = async (files: Record<string, string>) => {
1188
const workspaceFolder = await mkdtemp(join(tmpdir(), "test-workspace-"));

0 commit comments

Comments
 (0)