Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoopur Gupta2019-05-21 08:24:20 +0000
committerNoopur Gupta2019-05-21 08:24:20 +0000
commit2ff097fcac0f0c5a5b8e51c1b378e2f8dbe910b6 (patch)
tree6187bbd97aff8ebef83d1134ec779c2658be2fdd
parent79cf9b81881fac0e5dd969c2a8bcdbf86602b21f (diff)
downloadeclipse.jdt.ui-2ff097fcac0f0c5a5b8e51c1b378e2f8dbe910b6.tar.gz
eclipse.jdt.ui-2ff097fcac0f0c5a5b8e51c1b378e2f8dbe910b6.tar.xz
eclipse.jdt.ui-2ff097fcac0f0c5a5b8e51c1b378e2f8dbe910b6.zip
Bug 545340: Tests - [12][quick fix][switch expression] 'Add missing caseI20190521-0600
-rw-r--r--org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest12.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest12.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest12.java
index cef86c2224..ab83ad0157 100644
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest12.java
+++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTest12.java
@@ -536,4 +536,76 @@ public class QuickFixTest12 extends QuickFixTest {
assertEqualStringsIgnoreOrder(new String[] { preview }, new String[] { expected });
}
+
+ public void testAddMissingCaseSwitchExpression() throws Exception {
+ fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
+ fJProject1.setRawClasspath(Java12ProjectTestSetup.getDefaultClasspath(), null);
+ JavaProjectHelper.set12CompilerOptions(fJProject1, true);
+ fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
+
+ StringBuffer buf= new StringBuffer();
+ buf.append("module test {\n");
+ buf.append("}\n");
+ IPackageFragment def= fSourceFolder.createPackageFragment("", false, null);
+ def.createCompilationUnit("module-info.java", buf.toString(), false, null);
+
+ IPackageFragment pack= fSourceFolder.createPackageFragment("test", false, null);
+ buf= new StringBuffer();
+ buf.append("package test;\n");
+ buf.append("public class Cls {\n");
+ buf.append(" public void bar1(Day day) {\n");
+ buf.append(" int len = switch (day) {\n");
+ buf.append(" case MONDAY, FRIDAY:\n");
+ buf.append(" break 6;\n");
+ buf.append(" case TUESDAY:\n");
+ buf.append(" break 7;\n");
+ buf.append(" case THURSDAY, SATURDAY:\n");
+ buf.append(" break 8;\n");
+ buf.append(" };\n");
+ buf.append(" }\n");
+ buf.append("}\n");
+ buf.append("enum Day {\n");
+ buf.append(" MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;\n");
+ buf.append("}\n");
+ ICompilationUnit cu= pack.createCompilationUnit("Cls.java", buf.toString(), false, null);
+
+ CompilationUnit astRoot= getASTRoot(cu);
+ ArrayList<IJavaCompletionProposal> proposals= collectCorrections(cu, astRoot, 2);
+ assertNumberOfProposals(proposals, 2);
+ assertCorrectLabels(proposals);
+
+ CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
+ String preview= getPreviewContent(proposal);
+
+ buf= new StringBuffer();
+ buf.append("package test;\n");
+ buf.append("public class Cls {\n");
+ buf.append(" public void bar1(Day day) {\n");
+ buf.append(" int len = switch (day) {\n");
+ buf.append(" case MONDAY, FRIDAY:\n");
+ buf.append(" break 6;\n");
+ buf.append(" case TUESDAY:\n");
+ buf.append(" break 7;\n");
+ buf.append(" case THURSDAY, SATURDAY:\n");
+ buf.append(" break 8;\n");
+ buf.append(" case SUNDAY :\n");
+ buf.append(" throw new UnsupportedOperationException(\n");
+ buf.append(" \"Unimplemented case: \" + day);\n");
+ buf.append(" case WEDNESDAY :\n");
+ buf.append(" throw new UnsupportedOperationException(\n");
+ buf.append(" \"Unimplemented case: \" + day);\n");
+ buf.append(" default :\n");
+ buf.append(" throw new IllegalArgumentException(\n");
+ buf.append(" \"Unexpected value: \" + day);\n");
+ buf.append(" };\n");
+ buf.append(" }\n");
+ buf.append("}\n");
+ buf.append("enum Day {\n");
+ buf.append(" MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;\n");
+ buf.append("}\n");
+ String expected= buf.toString();
+
+ assertEqualStringsIgnoreOrder(new String[] { preview }, new String[] { expected });
+ }
+
}

Back to the top