From b4a923adc396c0a2e69c99fbb5b9c41154b0f023 Mon Sep 17 00:00:00 2001 From: George Fraser Date: Thu, 27 Dec 2018 10:16:32 -0800 Subject: Resolve codelenses in tests --- src/test/java/org/javacs/CodeLensTest.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/test/java/org/javacs/CodeLensTest.java b/src/test/java/org/javacs/CodeLensTest.java index ec7bd04..553e3e5 100644 --- a/src/test/java/org/javacs/CodeLensTest.java +++ b/src/test/java/org/javacs/CodeLensTest.java @@ -3,10 +3,10 @@ package org.javacs; import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; +import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; import java.util.Objects; -import java.util.Optional; import java.util.StringJoiner; import java.util.concurrent.ExecutionException; import org.eclipse.lsp4j.CodeLens; @@ -22,7 +22,19 @@ public class CodeLensTest { var uri = FindResource.uri(file); var params = new CodeLensParams(new TextDocumentIdentifier(uri.toString())); try { - return server.getTextDocumentService().codeLens(params).get(); + var lenses = server.getTextDocumentService().codeLens(params).get(); + var resolved = new ArrayList(); + for (var lens : lenses) { + if (lens.getCommand() == null) { + var gson = new Gson(); + var data = lens.getData(); + var dataJson = gson.toJsonTree(data); + lens.setData(dataJson); + lens = server.getTextDocumentService().resolveCodeLens(lens).get(); + } + resolved.add(lens); + } + return resolved; } catch (InterruptedException | ExecutionException e) { throw new RuntimeException(e); } @@ -33,7 +45,6 @@ public class CodeLensTest { for (var lens : lenses) { var command = new StringJoiner(", "); for (var arg : lens.getCommand().getArguments()) { - if (arg instanceof Optional) arg = ((Optional) arg).orElse(null); command.add(Objects.toString(arg)); } commands.add(command.toString()); -- cgit v1.2.3