Search in sources :

Example 26 with Hover

use of org.eclipse.lsp4j.Hover in project eclipse.jdt.ls by eclipse.

the class HoverHandlerTest method testEmptyHover.

@Test
public void testEmptyHover() throws Exception {
    // given
    // Hovers on the System.out
    URI standalone = Paths.get("projects", "maven", "salut", "src", "main", "java", "java", "Foo.java").toUri();
    String payload = createHoverRequest(standalone, 1, 2);
    TextDocumentPositionParams position = getParams(payload);
    // when
    Hover hover = handler.hover(position, monitor);
    // then
    assertNotNull(hover);
    assertNotNull(hover.getContents());
    assertEquals(1, hover.getContents().size());
    assertEquals("Should find empty hover for " + payload, "", hover.getContents().get(0).getLeft());
}
Also used : Hover(org.eclipse.lsp4j.Hover) MarkedString(org.eclipse.lsp4j.MarkedString) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) URI(java.net.URI) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest) Test(org.junit.Test)

Example 27 with Hover

use of org.eclipse.lsp4j.Hover in project eclipse.jdt.ls by eclipse.

the class HoverHandlerTest method testHover.

@Test
public void testHover() throws Exception {
    // given
    // Hovers on the System.out
    String payload = createHoverRequest("src/java/Foo.java", 5, 15);
    TextDocumentPositionParams position = getParams(payload);
    // when
    Hover hover = handler.hover(position, monitor);
    // then
    assertNotNull(hover);
    assertNotNull(hover.getContents());
    MarkedString signature = hover.getContents().get(0).getRight();
    assertEquals("Unexpected hover " + signature, "java", signature.getLanguage());
    assertEquals("Unexpected hover " + signature, "java.Foo", signature.getValue());
    String doc = hover.getContents().get(1).getLeft();
    assertEquals("Unexpected hover " + doc, "This is foo", doc);
}
Also used : Hover(org.eclipse.lsp4j.Hover) MarkedString(org.eclipse.lsp4j.MarkedString) MarkedString(org.eclipse.lsp4j.MarkedString) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest) Test(org.junit.Test)

Example 28 with Hover

use of org.eclipse.lsp4j.Hover in project eclipse.jdt.ls by eclipse.

the class HoverHandlerTest method testHoverWithAttachedJavadoc.

@Test
public void testHoverWithAttachedJavadoc() throws Exception {
    File commonPrimitivesJdoc = DependencyUtil.getJavadoc("commons-primitives", "commons-primitives", "1.0");
    assertNotNull("Unable to locate  commons-primitives-1.0-javadoc.jar", commonPrimitivesJdoc);
    importProjects("maven/attached-javadoc");
    project = WorkspaceHelper.getProject("attached-javadoc");
    handler = new HoverHandler(preferenceManager);
    // given
    // Hovers on org.apache.commons.collections.primitives.ShortCollections which has no source but an attached javadoc
    String payload = createHoverRequest("src/main/java/org/sample/Bar.java", 2, 56);
    TextDocumentPositionParams position = getParams(payload);
    // when
    Hover hover = handler.hover(position, monitor);
    assertNotNull("Hover is null", hover);
    assertEquals("Unexpected hover contents:\n" + hover.getContents(), 2, hover.getContents().size());
    Either<String, MarkedString> javadoc = hover.getContents().get(1);
    String content = null;
    assertTrue("javadoc has null content", javadoc != null && javadoc.getLeft() != null && (content = javadoc.getLeft()) != null);
    assertTrue("Unexpected hover :\n" + content, content.contains("This class consists exclusively of static methods that operate on or return ShortCollections"));
    assertTrue("Unexpected hover :\n" + content, content.contains("**Author:**"));
}
Also used : Hover(org.eclipse.lsp4j.Hover) MarkedString(org.eclipse.lsp4j.MarkedString) MarkedString(org.eclipse.lsp4j.MarkedString) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) IClassFile(org.eclipse.jdt.core.IClassFile) File(java.io.File) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest) Test(org.junit.Test)

Example 29 with Hover

use of org.eclipse.lsp4j.Hover in project eclipse.jdt.ls by eclipse.

the class HoverHandlerTest method testHoverPackage.

@Test
public void testHoverPackage() throws Exception {
    // given
    // Hovers on the java.internal package
    String payload = createHoverRequest("src/java/Baz.java", 2, 16);
    TextDocumentPositionParams position = getParams(payload);
    // when
    Hover hover = handler.hover(position, monitor);
    // then
    assertNotNull(hover);
    // 
    String signature = hover.getContents().get(0).getRight().getValue();
    assertEquals("Unexpected signature ", "java.internal", signature);
    // 
    String result = hover.getContents().get(1).getLeft();
    assertEquals("Unexpected hover ", "this is a **bold** package!", result);
}
Also used : Hover(org.eclipse.lsp4j.Hover) MarkedString(org.eclipse.lsp4j.MarkedString) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest) Test(org.junit.Test)

Example 30 with Hover

use of org.eclipse.lsp4j.Hover in project eclipse.jdt.ls by eclipse.

the class HoverHandlerTest method testHoverVariable.

@Test
public void testHoverVariable() throws Exception {
    // given
    // Hover on args parameter
    String argParam = createHoverRequest("src/java/Foo.java", 7, 37);
    TextDocumentPositionParams position = getParams(argParam);
    // when
    Hover hover = handler.hover(position, monitor);
    // then
    assertNotNull(hover);
    assertNotNull(hover.getContents());
    MarkedString signature = hover.getContents().get(0).getRight();
    assertEquals("Unexpected hover " + signature, "java", signature.getLanguage());
    assertEquals("Unexpected hover " + signature, "String[] args - java.Foo.main(String[])", signature.getValue());
}
Also used : Hover(org.eclipse.lsp4j.Hover) MarkedString(org.eclipse.lsp4j.MarkedString) MarkedString(org.eclipse.lsp4j.MarkedString) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest) Test(org.junit.Test)

Aggregations

Hover (org.eclipse.lsp4j.Hover)41 MarkedString (org.eclipse.lsp4j.MarkedString)14 Test (org.junit.Test)12 AbstractProjectsManagerBasedTest (org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest)11 TextDocumentPositionParams (org.eclipse.lsp4j.TextDocumentPositionParams)11 ArrayList (java.util.ArrayList)10 Either (org.eclipse.lsp4j.jsonrpc.messages.Either)10 Range (org.eclipse.lsp4j.Range)5 SpringBootApp (org.springframework.ide.vscode.commons.boot.app.cli.SpringBootApp)5 List (java.util.List)4 Position (org.eclipse.lsp4j.Position)3 LiveBean (org.springframework.ide.vscode.commons.boot.app.cli.livebean.LiveBean)3 LiveBeansModel (org.springframework.ide.vscode.commons.boot.app.cli.livebean.LiveBeansModel)3 File (java.io.File)2 URI (java.net.URI)2 IDefinition (org.apache.flex.compiler.definitions.IDefinition)2 PositionTreeVisitor (org.ballerinalang.langserver.common.position.PositionTreeVisitor)2 IClassFile (org.eclipse.jdt.core.IClassFile)2 TextDocumentIdentifier (org.eclipse.lsp4j.TextDocumentIdentifier)2 SimpleTextDocumentService (org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocumentService)2