Example usage for org.eclipse.jdt.core JavaCore COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE

List of usage examples for org.eclipse.jdt.core JavaCore COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE

Introduction

In this page you can find the example usage for org.eclipse.jdt.core JavaCore COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE.

Prototype

String COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE

To view the source code for org.eclipse.jdt.core JavaCore COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE.

Click Source Link

Document

Compiler option ID: Reporting Missing Default Case In Switch.

Usage

From source file:org.eclipse.che.jdt.quickfix.LocalCorrectionsQuickFixTest.java

License:Open Source License

@Test
public void testMissingEnumConstantsInCase3() throws Exception {
    //https://bugs.eclipse.org/bugs/show_bug.cgi?id=372840
    Hashtable options = JavaCore.getOptions();
    options.put(JavaCore.COMPILER_PB_INCOMPLETE_ENUM_SWITCH, JavaCore.WARNING);
    options.put(JavaCore.COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE, JavaCore.WARNING);
    options.put(JavaCore.COMPILER_PB_SUPPRESS_WARNINGS, JavaCore.DISABLED);
    JavaCore.setOptions(options);//from  ww w . j a  va 2 s .co  m

    IPackageFragment pack1 = fSourceFolder.createPackageFragment("p", false, null);
    StringBuffer buf = new StringBuffer();
    buf.append("package p;\n");
    buf.append("\n");
    buf.append("public class E {\n");
    buf.append("    enum MyEnum {\n");
    buf.append("        X1, X2, X3\n");
    buf.append("    }\n");
    buf.append("    \n");
    buf.append("    public void foo(MyEnum x) {\n");
    buf.append("        switch (x) {\n");
    buf.append("            case X1 :\n");
    buf.append("                break;\n");
    buf.append("            case X2 :\n");
    buf.append("                break;\n");
    buf.append("            case X3 :\n");
    buf.append("                break;\n");
    buf.append("        }\n");
    buf.append("    }\n");
    buf.append("}\n");
    ICompilationUnit cu = pack1.createCompilationUnit("E.java", buf.toString(), false, null);

    CompilationUnit astRoot = getASTRoot(cu);
    ArrayList proposals = collectCorrections(cu, astRoot);

    assertCorrectLabels(proposals);
    assertNumberOfProposals(proposals, 1);

    String[] expected = new String[1];
    buf = new StringBuffer();
    buf.append("package p;\n");
    buf.append("\n");
    buf.append("public class E {\n");
    buf.append("    enum MyEnum {\n");
    buf.append("        X1, X2, X3\n");
    buf.append("    }\n");
    buf.append("    \n");
    buf.append("    public void foo(MyEnum x) {\n");
    buf.append("        switch (x) {\n");
    buf.append("            case X1 :\n");
    buf.append("                break;\n");
    buf.append("            case X2 :\n");
    buf.append("                break;\n");
    buf.append("            case X3 :\n");
    buf.append("                break;\n");
    buf.append("            default :\n");
    buf.append("                break;\n");
    buf.append("        }\n");
    buf.append("    }\n");
    buf.append("}\n");
    expected[0] = buf.toString();

    assertExpectedExistInProposals(proposals, expected);
}