@@ -607,6 +607,69 @@ public void testCodeAction_unimplementedMethodReference() throws Exception {
607
607
Assert .assertEquals ("Add missing method 'action' to class 'Foo'" , action .getTitle ());
608
608
}
609
609
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
+
610
673
private List <Either <Command , CodeAction >> getCodeActions (CodeActionParams params ) {
611
674
return server .codeAction (params ).join ();
612
675
}
0 commit comments