Search in sources :

Example 86 with Position

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

the class IntroduceParameterRefactorTest method testIntroduceParameter.

@Test
public void testIntroduceParameter() throws Exception {
    setIgnoredCommands("Assign statement to new field", ActionMessages.GenerateConstructorsAction_ellipsisLabel, ActionMessages.GenerateConstructorsAction_label);
    IPackageFragment pack1 = fSourceFolder.createPackageFragment("test1", false, null);
    StringBuilder buf = new StringBuilder();
    // @formatter:off
    buf.append("package test1;\n" + "public class E {\n" + "    public void foo(){\r\n" + "        greeting();\r\n" + "    }\r\n" + "\r\n" + "    private void greeting() {\r\n" + "        System.out.println(\"Hello World\");\r\n" + "    }\n" + "}\n");
    // @formatter:on
    ICompilationUnit cu = pack1.createCompilationUnit("E.java", buf.toString(), false, null);
    Range range = new Range(new Position(7, 30), new Position(7, 30));
    testIntroduceParameterCommand(cu, range);
    when(clientPreferences.isAdvancedIntroduceParameterRefactoringSupported()).thenReturn(false);
    testIntroduceParameterAction(cu, range);
}
Also used : ICompilationUnit(org.eclipse.jdt.core.ICompilationUnit) IPackageFragment(org.eclipse.jdt.core.IPackageFragment) Position(org.eclipse.lsp4j.Position) Range(org.eclipse.lsp4j.Range) Test(org.junit.Test)

Example 87 with Position

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

the class ImplementationsHandlerTest method testInterfaceImplementation.

@Test
public void testInterfaceImplementation() {
    URI uri = project.getFile("src/org/sample/IFoo.java").getRawLocationURI();
    String fileURI = ResourceUtils.fixURI(uri);
    TextDocumentPositionParams param = new TextDocumentPositionParams();
    // Position over IFoo
    param.setPosition(new Position(2, 20));
    param.setTextDocument(new TextDocumentIdentifier(fileURI));
    List<? extends Location> implementations = handler.findImplementations(param, monitor);
    assertNotNull("findImplementations should not return null", implementations);
    assertEquals(2, implementations.size());
    Location foo2 = implementations.get(0);
    assertTrue("Unexpected implementation : " + foo2.getUri(), foo2.getUri().contains("org/sample/Foo2.java"));
    assertEquals(JDTUtils.newLineRange(2, 13, 17), foo2.getRange());
    Location foo3 = implementations.get(1);
    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 88 with Position

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

the class ImplementationsHandlerTest method testMethodSuperInvocationImplementation.

@Test
public void testMethodSuperInvocationImplementation() {
    URI uri = project.getFile("src/org/sample/FooChild.java").getRawLocationURI();
    String fileURI = ResourceUtils.fixURI(uri);
    TextDocumentPositionParams param = new TextDocumentPositionParams();
    // Position over super.someMethod
    param.setPosition(new Position(5, 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 foo = implementations.get(0);
    assertTrue("Unexpected implementation : " + foo.getUri(), foo.getUri().contains("org/sample/Foo.java"));
    // check range points to someMethod() position
    assertEquals(new Position(8, 13), foo.getRange().getStart());
    assertEquals(new Position(8, 23), foo.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 89 with Position

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

the class ImplementationsHandlerTest method testMethodImplementation.

@Test
public void testMethodImplementation() {
    URI uri = project.getFile("src/org/sample/IFoo.java").getRawLocationURI();
    String fileURI = ResourceUtils.fixURI(uri);
    TextDocumentPositionParams param = new TextDocumentPositionParams();
    // Position over IFoo#someMethod
    param.setPosition(new Position(4, 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 90 with Position

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

the class ImplementationsHandlerTest method testUnimplementedClassImplementation_includeDefinition.

@Test
public void testUnimplementedClassImplementation_includeDefinition() {
    URI uri = project.getFile("src/org/sample/FooService.java").getRawLocationURI();
    String fileURI = ResourceUtils.fixURI(uri);
    TextDocumentPositionParams param = new TextDocumentPositionParams();
    // Position over AbstractFoo.
    param.setPosition(new Position(14, 13));
    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 foo = implementations.get(0);
    assertTrue("Unexpected implementation : " + foo.getUri(), foo.getUri().contains("org/sample/AbstractFoo.java"));
    // check range points to AbstractFoo class declaration position
    assertEquals(new Position(2, 22), foo.getRange().getStart());
    assertEquals(new Position(2, 33), foo.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)

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