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);
}
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());
}
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());
}
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);
}
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());
}
Aggregations