Search in sources :

Example 6 with Hover

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

the class HoverHandlerTest method testHoverInheritedJavadoc.

@Test
public void testHoverInheritedJavadoc() throws Exception {
    // given
    // Hovers on the overriding foo()
    String payload = createHoverRequest("src/java/Bar.java", 22, 19);
    TextDocumentPositionParams position = getParams(payload);
    // when
    Hover hover = handler.hover(position, monitor);
    // then
    assertNotNull(hover);
    // 
    String result = hover.getContents().get(1).getLeft();
    assertEquals("Unexpected hover ", "This method comes from Foo", 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 7 with Hover

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

the class HoverHandlerTest method testHoverOnPackageWithJavadoc.

@Test
public void testHoverOnPackageWithJavadoc() throws Exception {
    importProjects("maven/salut2");
    project = WorkspaceHelper.getProject("salut2");
    handler = new HoverHandler(preferenceManager);
    // given
    // Hovers on the org.apache.commons import
    String payload = createHoverRequest("src/main/java/foo/Bar.java", 2, 22);
    TextDocumentPositionParams position = getParams(payload);
    // when
    Hover hover = handler.hover(position, monitor);
    assertNotNull(hover);
    // 
    String result = hover.getContents().get(0).getRight().getValue();
    assertEquals("Unexpected hover ", "org.apache.commons", result);
    assertEquals(logListener.getErrors().toString(), 0, logListener.getErrors().size());
}
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 8 with Hover

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

the class HoverHandlerTest method testHoverOverNullElement.

@Test
public void testHoverOverNullElement() throws Exception {
    IPackageFragment pack1 = sourceFolder.createPackageFragment("test1", false, null);
    StringBuilder buf = new StringBuilder();
    buf.append("package test1;\n");
    buf.append("import javax.xml.bind.Binder;\n");
    buf.append("public class E {}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("E.java", buf.toString(), false, null);
    Hover hover = getHover(cu, 1, 8);
    assertNotNull(hover);
    assertEquals(1, hover.getContents().size());
    assertEquals("Unexpected hover ", "javax", hover.getContents().get(0).getRight().getValue());
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) IPackageFragment(org.eclipse.jdt.core.IPackageFragment) Hover(org.eclipse.lsp4j.Hover) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest) Test(org.junit.Test)

Example 9 with Hover

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

the class HoverHandlerTest method testHoverStandalone.

@Test
public void testHoverStandalone() 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, 10, 71);
    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) URI(java.net.URI) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest) Test(org.junit.Test)

Example 10 with Hover

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

the class HoverHandlerTest method testHoverThrowable.

@Test
public void testHoverThrowable() throws Exception {
    String uriString = ClassFileUtil.getURI(project, "java.lang.Exception");
    IClassFile classFile = JDTUtils.resolveClassFile(uriString);
    String contents = JavaLanguageServerPlugin.getContentProviderManager().getSource(classFile, monitor);
    IDocument document = new Document(contents);
    IRegion region = new FindReplaceDocumentAdapter(document).find(0, "Throwable", true, false, false, false);
    int offset = region.getOffset();
    int line = document.getLineOfOffset(offset);
    int character = offset - document.getLineOffset(line);
    TextDocumentIdentifier textDocument = new TextDocumentIdentifier(uriString);
    Position position = new Position(line, character);
    TextDocumentPositionParams params = new TextDocumentPositionParams(textDocument, position);
    Hover hover = handler.hover(params, monitor);
    assertNotNull(hover);
    assertTrue("Unexpected hover ", !hover.getContents().isEmpty());
}
Also used : TextDocumentIdentifier(org.eclipse.lsp4j.TextDocumentIdentifier) IClassFile(org.eclipse.jdt.core.IClassFile) Position(org.eclipse.lsp4j.Position) Hover(org.eclipse.lsp4j.Hover) MarkedString(org.eclipse.lsp4j.MarkedString) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) Document(org.eclipse.jface.text.Document) IDocument(org.eclipse.jface.text.IDocument) IDocument(org.eclipse.jface.text.IDocument) IRegion(org.eclipse.jface.text.IRegion) FindReplaceDocumentAdapter(org.eclipse.jface.text.FindReplaceDocumentAdapter) 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