6060import org .fife .ui .autocomplete .ParameterizedCompletion ;
6161import org .fife .ui .rsyntaxtextarea .RSyntaxTextArea ;
6262import org .junit .Test ;
63- import org .scijava .code .lsp .ScriptDocument ;
6463import org .scijava .code .lsp .jvm .Callable ;
6564import org .scijava .code .lsp .Environment ;
6665import org .scijava .code .lsp .Positions ;
6766import org .scijava .code .lsp .jvm .AbstractLanguageServer ;
68- import org .scijava .code .lsp .ScriptSession ;
6967
7068/**
7169 * Tests that {@link SciJavaCompletionProvider} faithfully bridges a language
@@ -92,7 +90,7 @@ public void testBridgesCompletions() {
9290 return FakeServer .items (doc , 4 , caret , bar , new CompletionItem ("baz" ));
9391 };
9492 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
95- new ScriptSession ( e -> server , ScriptDocument :: of ));
93+ FakeServers . session ( server ));
9694
9795 // The provider must report the already-entered text as the replaced span.
9896 assertEquals ("ba" , provider .getAlreadyEnteredText (area ));
@@ -119,7 +117,7 @@ public void testAdditionalEditsSurfaceAsSciJavaCompletion() {
119117 return FakeServer .items (doc , 0 , caret , roi );
120118 };
121119 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
122- new ScriptSession ( e -> server , ScriptDocument :: of ));
120+ FakeServers . session ( server ));
123121
124122 final List <Completion > completions = provider .getCompletionsImpl (area );
125123 assertEquals (1 , completions .size ());
@@ -155,7 +153,7 @@ public void testCallablesBecomeFunctionCompletionsWithChoices() {
155153 return FakeServer .items (doc , caret , caret , myRoi , addRoi .toItem ());
156154 };
157155 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
158- new ScriptSession ( e -> server , ScriptDocument :: of ));
156+ FakeServers . session ( server ));
159157
160158 // Callables surface as FunctionCompletions so parameter assistance works.
161159 final List <Completion > completions = provider .getCompletionsImpl (area );
@@ -182,7 +180,7 @@ public void testCallablesRenderWithSignatures() {
182180 server .complete = (doc , caret ) -> FakeServer .items (doc , 0 , caret , method (
183181 completionText , "long[]" ).toItem ());
184182 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
185- new ScriptSession ( e -> server , ScriptDocument :: of ));
183+ FakeServers . session ( server ));
186184
187185 // The popup list must show a callable's parameters, not just its name.
188186 final Completion c = provider .getCompletionsImpl (area ).get (0 );
@@ -206,7 +204,7 @@ public void testParameterTooltipListsOtherOverloads() {
206204 method ("img.getAt" , "int[]" ).toItem (), // e.g. a bridge method
207205 method ("img.getAtX" , "long[]" ).toItem ());
208206 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
209- new ScriptSession ( e -> server , ScriptDocument :: of ));
207+ FakeServers . session ( server ));
210208 final List <Completion > completions = provider .getCompletionsImpl (area );
211209
212210 // Each overload's tooltip lists the others, once each, even before RSTA
@@ -252,7 +250,7 @@ public void testParameterTooltipShowsSignatureHelp() {
252250 .toSignature (), longs .toSignature (), strings .toSignature ()), 0 , 1 );
253251 };
254252 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
255- new ScriptSession ( e -> server , ScriptDocument :: of ));
253+ FakeServers . session ( server ));
256254 final List <Completion > completions = provider .getCompletionsImpl (area );
257255 final ParameterizedCompletion intOverload =
258256 (ParameterizedCompletion ) completions .get (0 );
@@ -284,7 +282,7 @@ public void testParameterTooltipIgnoresOtherCalls() {
284282 server .help = (doc , caret ) -> new SignatureHelp (Collections .singletonList (
285283 method ("b" , "double" ).toSignature ()), 0 , 0 );
286284 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
287- new ScriptSession ( e -> server , ScriptDocument :: of ));
285+ FakeServers . session ( server ));
288286 final ParameterizedCompletion intOverload =
289287 (ParameterizedCompletion ) provider .getCompletionsImpl (area ).get (0 );
290288 area .setText ("a(b(|), p1)" );
@@ -313,7 +311,7 @@ public void testLazyDescriptions() {
313311 return "The zeta function." ;
314312 }));
315313 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
316- new ScriptSession ( e -> server , ScriptDocument :: of ));
314+ FakeServers . session ( server ));
317315 final List <Completion > completions = provider .getCompletionsImpl (area );
318316 // Nothing is described until RSTA shows a completion's description...
319317 assertEquals (0 , asked .get ());
@@ -331,7 +329,7 @@ public void testResultUpdates() throws Exception {
331329 area .setCaretPosition (4 );
332330 final CompletableFuture <CompletionList > later = new CompletableFuture <>();
333331 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
334- new ScriptSession ( e -> new LateServer (later ), ScriptDocument :: of ));
332+ FakeServers . session ( new LateServer (later )));
335333 final Boolean [] notified = { null };
336334 provider .setUpdateListener (wasEmpty -> notified [0 ] = wasEmpty );
337335
@@ -347,7 +345,7 @@ public void testResultUpdates() throws Exception {
347345 // A result for a request the user has typed past is ignored.
348346 final CompletableFuture <CompletionList > stale = new CompletableFuture <>();
349347 final SciJavaCompletionProvider provider2 = new SciJavaCompletionProvider (
350- new ScriptSession ( e -> new LateServer (stale ), ScriptDocument :: of ));
348+ FakeServers . session ( new LateServer (stale )));
351349 notified [0 ] = null ;
352350 provider2 .setUpdateListener (wasEmpty -> notified [0 ] = wasEmpty );
353351 area .setText ("np.z" );
@@ -367,7 +365,7 @@ public void testOpenOnInstall() {
367365 final File file = new File ("scripts" , "blur.py" );
368366 final FakeServer server = new FakeServer ();
369367 final LanguageServerLanguageSupport support =
370- new LanguageServerLanguageSupport (() -> new ScriptSession ( e -> server , ScriptDocument :: of ),
368+ new LanguageServerLanguageSupport (() -> FakeServers . session ( server ),
371369 null , () -> file );
372370 support .install (area );
373371 // NB: Sessions tell their servers off the caller's thread.
@@ -398,7 +396,7 @@ public void testRequestCarriesScriptPath() {
398396 return new CompletionList ();
399397 };
400398 final SciJavaCompletionProvider provider = new SciJavaCompletionProvider (
401- new ScriptSession ( e -> server , ScriptDocument :: of ));
399+ FakeServers . session ( server ));
402400
403401 // Without a file supplier (e.g. in an interpreter): no path.
404402 provider .getCompletionsImpl (area );
0 commit comments