Skip to content

Commit d0b2df5

Browse files
authored
Update test initilization (#31)
1 parent 582398f commit d0b2df5

File tree

2 files changed

+34
-16
lines changed

2 files changed

+34
-16
lines changed

nimlangserver.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ type
5050
workspaceConfiguration: Future[JsonNode]
5151
filesWithDiags: HashSet[string]
5252
lastNimsuggest: Future[Nimsuggest]
53-
isShutdown: bool
53+
isShutdown*: bool
5454

5555
Certainty = enum
5656
None,

tests/tnimlangserver.nim

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ suite "Client/server initialization sequence":
2121
let pipeServer = createPipe();
2222
let pipeClient = createPipe();
2323

24-
let server = StreamConnection.new(pipeServer);
25-
registerHandlers(server);
26-
discard server.start(asyncPipeInput(pipeClient));
24+
let
25+
server = StreamConnection.new(pipeServer)
26+
inputPipe = asyncPipeInput(pipeClient)
27+
discard registerHandlers(server, inputPipe);
28+
discard server.start(inputPipe);
2729

2830
let client = StreamConnection.new(pipeClient);
2931
discard client.start(asyncPipeInput(pipeServer));
@@ -79,9 +81,11 @@ suite "Suggest API selection":
7981
let pipeServer = createPipe();
8082
let pipeClient = createPipe();
8183

82-
let server = StreamConnection.new(pipeServer);
83-
registerHandlers(server);
84-
discard server.start(asyncPipeInput(pipeClient));
84+
let
85+
server = StreamConnection.new(pipeServer)
86+
inputPipe = asyncPipeInput(pipeClient)
87+
discard registerHandlers(server, inputPipe);
88+
discard server.start(inputPipe);
8589

8690
let client = StreamConnection.new(pipeClient);
8791
discard client.start(asyncPipeInput(pipeServer));
@@ -169,9 +173,11 @@ suite "LSP features":
169173
let pipeServer = createPipe();
170174
let pipeClient = createPipe();
171175

172-
let server = StreamConnection.new(pipeServer);
173-
registerHandlers(server);
174-
discard server.start(asyncPipeInput(pipeClient));
176+
let
177+
server = StreamConnection.new(pipeServer)
178+
inputPipe = asyncPipeInput(pipeClient)
179+
ls = registerHandlers(server, inputPipe);
180+
discard server.start(inputPipe);
175181

176182
let client = StreamConnection.new(pipeClient);
177183
discard client.start(asyncPipeInput(pipeServer));
@@ -388,6 +394,14 @@ suite "LSP features":
388394
doAssert actualEchoCompletionItem.detail == expected.detail
389395
doAssert actualEchoCompletionItem.documentation != expected.documentation
390396

397+
test "Shutdown":
398+
let
399+
nullValue = newJNull()
400+
nullResponse = waitFor client.call("shutdown", nullValue)
401+
402+
doAssert nullResponse == nullValue
403+
doAssert ls.isShutdown
404+
391405
pipeClient.close()
392406
pipeServer.close()
393407

@@ -397,9 +411,11 @@ suite "Null configuration:":
397411
let pipeServer = createPipe();
398412
let pipeClient = createPipe();
399413

400-
let server = StreamConnection.new(pipeServer);
401-
registerHandlers(server);
402-
discard server.start(asyncPipeInput(pipeClient));
414+
let
415+
server = StreamConnection.new(pipeServer)
416+
inputPipe = asyncPipeInput(pipeClient)
417+
discard registerHandlers(server, inputPipe);
418+
discard server.start(inputPipe);
403419

404420
let client = StreamConnection.new(pipeClient);
405421
discard client.start(asyncPipeInput(pipeServer));
@@ -435,9 +451,11 @@ suite "LSP expand":
435451
let pipeServer = createPipe();
436452
let pipeClient = createPipe();
437453

438-
let server = StreamConnection.new(pipeServer);
439-
registerHandlers(server);
440-
discard server.start(asyncPipeInput(pipeClient));
454+
let
455+
server = StreamConnection.new(pipeServer)
456+
inputPipe = asyncPipeInput(pipeClient)
457+
discard registerHandlers(server, inputPipe);
458+
discard server.start(inputPipe);
441459

442460
let client = StreamConnection.new(pipeClient);
443461
discard client.start(asyncPipeInput(pipeServer));

0 commit comments

Comments
 (0)