Bug 574860: Add test - [17][quick fix][sealed] declare sealed class as
super class of permitted types
Change-Id: Iafbd7495b8166d70100516645e228cb8d84ea02d
Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.ui/+/183316
Tested-by: JDT Bot <jdt-bot@eclipse.org>
Reviewed-by: Noopur Gupta <noopur_gupta@in.ibm.com>
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestPreview.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestPreview.java
index b81fe39..10e00d8 100644
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestPreview.java
+++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/QuickFixTestPreview.java
@@ -548,4 +548,51 @@
assertEqualString(preview, expected);
}
+ @Test
+ public void testAddSealedAsDirectSuperClass1() throws Exception {
+ fJProject1= JavaProjectHelper.createJavaProject("TestProject1", "bin");
+ fJProject1.setRawClasspath(projectsetup.getDefaultClasspath(), null);
+ JavaProjectHelper.set16CompilerOptions(fJProject1, true);
+
+ Map<String, String> options= fJProject1.getOptions(false);
+ options.put(JavaCore.COMPILER_PB_REPORT_PREVIEW_FEATURES, JavaCore.IGNORE);
+ fJProject1.setOptions(options);
+
+ fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src");
+ IPackageFragment pack1= fSourceFolder.createPackageFragment("test", false, null);
+
+ String test= "" +
+ "package test;\n" +
+ "\n" +
+ "public sealed class Shape permits Circle {\\n" +
+ "\n" +
+ "}\n" +
+ "\n" +
+ "class Circle extends AssertionError {\n" +
+ " \n" +
+ "}\n";
+ ICompilationUnit cu= pack1.createCompilationUnit("Shape.java", test, false, null);
+
+ CompilationUnit astRoot= getASTRoot(cu);
+ ArrayList<IJavaCompletionProposal> proposals= collectCorrections(cu, astRoot, 3);
+ assertNumberOfProposals(proposals, 1);
+ assertCorrectLabels(proposals);
+
+ CUCorrectionProposal proposal= (CUCorrectionProposal) proposals.get(0);
+ String preview1= getPreviewContent(proposal);
+
+ String expected1= "" +
+ "package test;\n" +
+ "\n" +
+ "public sealed class Shape permits Circle {\\n" +
+ "\n" +
+ "}\n" +
+ "\n" +
+ "class Circle extends Shape {\n" +
+ " \n" +
+ "}\n";
+
+ assertEqualStringsIgnoreOrder(new String[] { preview1 }, new String[] { expected1 });
+ }
+
}