@@ -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