Search in sources :

Example 91 with Position

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

the class ImplementationsHandlerTest method testClassImplementation.

@Test
public void testClassImplementation() {
    URI uri = project.getFile("src/org/sample/Foo2.java").getRawLocationURI();
    String fileURI = ResourceUtils.fixURI(uri);
    TextDocumentPositionParams param = new TextDocumentPositionParams();
    // Position over Foo2
    param.setPosition(new Position(2, 14));
    param.setTextDocument(new TextDocumentIdentifier(fileURI));
    List<? extends Location> implementations = handler.findImplementations(param, monitor);
    assertNotNull("findImplementations should not return null", implementations);
    assertEquals(implementations.toString(), 1, implementations.size());
    Location foo3 = implementations.get(0);
    assertTrue("Unexpected implementation : " + foo3.getUri(), foo3.getUri().contains("org/sample/Foo3.java"));
    assertEquals(JDTUtils.newLineRange(5, 13, 17), foo3.getRange());
}
Also used : TextDocumentIdentifier(org.eclipse.lsp4j.TextDocumentIdentifier) Position(org.eclipse.lsp4j.Position) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) URI(java.net.URI) Location(org.eclipse.lsp4j.Location) Test(org.junit.Test) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest)

Example 92 with Position

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

the class ImplementationsHandlerTest method testEmpty.

@Test
public void testEmpty() {
    TextDocumentPositionParams param = new TextDocumentPositionParams();
    param.setPosition(new Position(1, 1));
    param.setTextDocument(new TextDocumentIdentifier("/foo/bar"));
    List<? extends Location> implementations = handler.findImplementations(param, monitor);
    assertNotNull(implementations);
    assertTrue("implementations are not empty", implementations.isEmpty());
}
Also used : TextDocumentIdentifier(org.eclipse.lsp4j.TextDocumentIdentifier) Position(org.eclipse.lsp4j.Position) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) Test(org.junit.Test) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest)

Example 93 with Position

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

the class ImplementationsHandlerTest method testMethodInvocationImplementation.

@Test
public void testMethodInvocationImplementation() {
    URI uri = project.getFile("src/org/sample/FooService.java").getRawLocationURI();
    String fileURI = ResourceUtils.fixURI(uri);
    TextDocumentPositionParams param = new TextDocumentPositionParams();
    // Position over foo.someMethod
    param.setPosition(new Position(6, 14));
    param.setTextDocument(new TextDocumentIdentifier(fileURI));
    List<? extends Location> implementations = handler.findImplementations(param, monitor);
    assertNotNull("findImplementations should not return null", implementations);
    assertEquals(implementations.toString(), 1, implementations.size());
    Location foo2 = implementations.get(0);
    assertTrue("Unexpected implementation : " + foo2.getUri(), foo2.getUri().contains("org/sample/Foo2.java"));
    // check range points to someMethod() position
    assertEquals(new Position(4, 16), foo2.getRange().getStart());
    assertEquals(new Position(4, 26), foo2.getRange().getEnd());
}
Also used : TextDocumentIdentifier(org.eclipse.lsp4j.TextDocumentIdentifier) Position(org.eclipse.lsp4j.Position) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) URI(java.net.URI) Location(org.eclipse.lsp4j.Location) Test(org.junit.Test) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest)

Example 94 with Position

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

the class NavigateToTypeDefinitionHandlerTest method testGetEmptyDefinition.

@Test
public void testGetEmptyDefinition() throws Exception {
    List<? extends Location> definitions = handler.typeDefinition(new TextDocumentPositionParams(new TextDocumentIdentifier("/foo/bar"), new Position(1, 1)), monitor);
    assertNull(definitions);
}
Also used : TextDocumentIdentifier(org.eclipse.lsp4j.TextDocumentIdentifier) Position(org.eclipse.lsp4j.Position) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) Test(org.junit.Test) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest)

Example 95 with Position

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

the class NavigateToTypeDefinitionHandlerTest method testDisassembledSource.

@Test
public void testDisassembledSource() throws JavaModelException {
    String className = "javax.tools.Tool";
    int line = 6;
    int column = 57;
    String uri = ClassFileUtil.getURI(project, className);
    TextDocumentIdentifier identifier = new TextDocumentIdentifier(uri);
    List<? extends Location> definitions = handler.typeDefinition(new TextDocumentPositionParams(identifier, new Position(line, column)), monitor);
    assertNotNull(definitions);
    assertEquals("No definition found for " + className, 1, definitions.size());
    assertNotNull(definitions.get(0).getUri());
    assertEquals(3, definitions.get(0).getRange().getStart().getLine());
    assertEquals(12, definitions.get(0).getRange().getStart().getCharacter());
}
Also used : TextDocumentIdentifier(org.eclipse.lsp4j.TextDocumentIdentifier) Position(org.eclipse.lsp4j.Position) TextDocumentPositionParams(org.eclipse.lsp4j.TextDocumentPositionParams) Test(org.junit.Test) AbstractProjectsManagerBasedTest(org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest)

Aggregations

Position (org.eclipse.lsp4j.Position)240 Test (org.junit.Test)149 Range (org.eclipse.lsp4j.Range)103 TextDocumentIdentifier (org.eclipse.lsp4j.TextDocumentIdentifier)95 AbstractProjectsManagerBasedTest (org.eclipse.jdt.ls.core.internal.managers.AbstractProjectsManagerBasedTest)73 ICompilationUnit (org.eclipse.jdt.core.ICompilationUnit)70 IPackageFragment (org.eclipse.jdt.core.IPackageFragment)50 TextDocumentPositionParams (org.eclipse.lsp4j.TextDocumentPositionParams)36 Location (org.eclipse.lsp4j.Location)34 List (java.util.List)29 WorkspaceEdit (org.eclipse.lsp4j.WorkspaceEdit)29 URI (java.net.URI)27 Either (org.eclipse.lsp4j.jsonrpc.messages.Either)23 ArrayList (java.util.ArrayList)21 PrepareRenameParams (org.eclipse.lsp4j.PrepareRenameParams)18 TextEdit (org.eclipse.lsp4j.TextEdit)15 CompletionList (org.eclipse.lsp4j.CompletionList)14 Document (org.eclipse.xtext.ide.server.Document)14 VersionedTextDocumentIdentifier (org.eclipse.lsp4j.VersionedTextDocumentIdentifier)13 Command (org.eclipse.lsp4j.Command)12