Skip to content

Commit 174f71f

Browse files
committed
add tests
Signed-off-by: Shi Chen <[email protected]>
1 parent 8dfae12 commit 174f71f

File tree

2 files changed

+67
-6
lines changed

2 files changed

+67
-6
lines changed

org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/CodeActionHandlerTest.java

+63
Original file line numberDiff line numberDiff line change
@@ -607,6 +607,69 @@ public void testCodeAction_unimplementedMethodReference() throws Exception {
607607
Assert.assertEquals("Add missing method 'action' to class 'Foo'", action.getTitle());
608608
}
609609

610+
@Test
611+
public void testQuickAssistForImportDeclarationOrder() throws JavaModelException {
612+
//@formatter:off
613+
ICompilationUnit unit = getWorkingCopy(
614+
"src/java/Foo.java",
615+
"import java.util.List;\n"+
616+
"public class Foo {\n"+
617+
" void foo() {\n"+
618+
" String bar = \"astring\";"+
619+
" }\n"+
620+
"}\n");
621+
//@formatter:on
622+
CodeActionParams params = CodeActionUtil.constructCodeActionParams(unit, "util");
623+
List<Either<Command, CodeAction>> codeActions = server.codeAction(params).join();
624+
Assert.assertNotNull(codeActions);
625+
List<Either<Command, CodeAction>> quickAssistActions = CodeActionHandlerTest.findActions(codeActions, JavaCodeActionKind.QUICK_ASSIST);
626+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(0)).getTitle(), "Organize imports");
627+
}
628+
629+
@Test
630+
public void testQuickAssistForFieldDeclarationOrder() throws JavaModelException {
631+
//@formatter:off
632+
ICompilationUnit unit = getWorkingCopy("A.java", "package p;\r\n" +
633+
"\r\n" +
634+
"public class A {\r\n" +
635+
" public String name = \"name\";\r\n" +
636+
" public String pet = \"pet\";\r\n" +
637+
"}");
638+
//@formatter:on
639+
CodeActionParams params = CodeActionUtil.constructCodeActionParams(unit, "String name");
640+
List<Either<Command, CodeAction>> codeActions = server.codeAction(params).join();
641+
Assert.assertNotNull(codeActions);
642+
List<Either<Command, CodeAction>> quickAssistActions = CodeActionHandlerTest.findActions(codeActions, JavaCodeActionKind.QUICK_ASSIST);
643+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(0)).getTitle(), "Generate Getter and Setter for 'name'");
644+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(1)).getTitle(), "Generate Getter for 'name'");
645+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(2)).getTitle(), "Generate Setter for 'name'");
646+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(3)).getTitle(), "Generate Constructors...");
647+
}
648+
649+
@Test
650+
public void testQuickAssistForTypeDeclarationOrder() throws JavaModelException {
651+
//@formatter:off
652+
ICompilationUnit unit = getWorkingCopy("A.java", "package p;\r\n" +
653+
"\r\n" +
654+
"public class A {\r\n" +
655+
" public String name = \"name\";\r\n" +
656+
" public String pet = \"pet\";\r\n" +
657+
"}");
658+
//@formatter:on
659+
CodeActionParams params = CodeActionUtil.constructCodeActionParams(unit, "A");
660+
List<Either<Command, CodeAction>> codeActions = server.codeAction(params).join();
661+
Assert.assertNotNull(codeActions);
662+
List<Either<Command, CodeAction>> quickAssistActions = CodeActionHandlerTest.findActions(codeActions, JavaCodeActionKind.QUICK_ASSIST);
663+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(0)).getTitle(), "Generate Constructors...");
664+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(1)).getTitle(), "Override/Implement Methods...");
665+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(2)).getTitle(), "Generate Getters and Setters...");
666+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(3)).getTitle(), "Generate Getters...");
667+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(4)).getTitle(), "Generate Setters...");
668+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(5)).getTitle(), "Generate hashCode() and equals()...");
669+
Assert.assertEquals(CodeActionHandlerTest.getCommand(quickAssistActions.get(6)).getTitle(), "Generate toString()...");
670+
671+
}
672+
610673
private List<Either<Command, CodeAction>> getCodeActions(CodeActionParams params) {
611674
return server.codeAction(params).join();
612675
}

org.eclipse.jdt.ls.tests/src/org/eclipse/jdt/ls/core/internal/handlers/GenerateConstructorsActionTest.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,14 @@ public void testGenerateConstructorsQuickAssist() throws JavaModelException {
9090
CodeActionParams params = CodeActionUtil.constructCodeActionParams(unit, "String name");
9191
List<Either<Command, CodeAction>> codeActions = server.codeAction(params).join();
9292
Assert.assertNotNull(codeActions);
93-
Either<Command, CodeAction> constructorAction = CodeActionHandlerTest.findAction(codeActions, JavaCodeActionKind.QUICK_ASSIST);
94-
Assert.assertNotNull(constructorAction);
95-
Command constructorCommand = CodeActionHandlerTest.getCommand(constructorAction);
96-
Assert.assertNotNull(constructorCommand);
97-
Assert.assertEquals(SourceAssistProcessor.COMMAND_ID_ACTION_GENERATECONSTRUCTORSPROMPT, constructorCommand.getCommand());
93+
List<Either<Command, CodeAction>> quickAssistActions = CodeActionHandlerTest.findActions(codeActions, JavaCodeActionKind.QUICK_ASSIST);
94+
Assert.assertNotNull(quickAssistActions);
95+
Assert.assertTrue(CodeActionHandlerTest.commandExists(quickAssistActions, SourceAssistProcessor.COMMAND_ID_ACTION_GENERATECONSTRUCTORSPROMPT));
9896
// test for type declaration
9997
params = CodeActionUtil.constructCodeActionParams(unit, "A");
10098
codeActions = server.codeAction(params).join();
10199
Assert.assertNotNull(codeActions);
102-
List<Either<Command, CodeAction>> quickAssistActions = CodeActionHandlerTest.findActions(codeActions, JavaCodeActionKind.QUICK_ASSIST);
100+
quickAssistActions = CodeActionHandlerTest.findActions(codeActions, JavaCodeActionKind.QUICK_ASSIST);
103101
Assert.assertTrue(CodeActionHandlerTest.commandExists(quickAssistActions, SourceAssistProcessor.COMMAND_ID_ACTION_GENERATECONSTRUCTORSPROMPT));
104102
}
105103

0 commit comments

Comments
 (0)