summaryrefslogtreecommitdiff
path: root/plugins/InspectionGadgets/testsrc/com/siyeh/ig/errorhandling/EmptyCatchBlockInspectionTest.java
blob: 5648d5733e31c3218ee34da9b009f1617252496d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package com.siyeh.ig.errorhandling;

import com.intellij.codeInspection.LocalInspectionTool;
import com.siyeh.ig.LightInspectionTestCase;

public class EmptyCatchBlockInspectionTest extends LightInspectionTestCase {

  @Override
  protected LocalInspectionTool getInspection() {
    final EmptyCatchBlockInspection tool = new EmptyCatchBlockInspection();
    tool.m_includeComments = true;
    tool.m_ignoreTestCases = true;
    tool.m_ignoreIgnoreParameter = true;
    return tool;
  }

  @Override
  protected String[] getEnvironmentClasses() {
    return new String[] {
      "package junit.framework; public abstract class TestCase {}"
    };
  }

  public void testSimple() {
    doTest("class C {\n" +
           "  void m() {\n" +
           "    try {\n" +
           "      throw new Exception();\n" +
           "    } /*Empty 'catch' block*/catch/**/ (Exception e) {\n" +
           "    }\n" +
           "  }\n" +
           "}\n");
  }

  public void testEmptyStatement() {
    doTest("class C {\n" +
           "  void m() {\n" +
           "    try {\n" +
           "      throw new Exception();\n" +
           "    } /*Empty 'catch' block*/catch/**/ (Exception e) {\n" +
           "      ;\n" +
           "    }\n" +
           "  }\n" +
           "}\n");
  }

  public void testComment() {
    doTest("class C {\n" +
           "  void m() {\n" +
           "    try {\n" +
           "      throw new Exception();\n" +
           "    } catch (Exception e) {\n" +
           "      // comment\n" +
           "    }\n" +
           "  }\n" +
           "}\n");
  }

  public void testIgnored() {
    doTest("class C {\n" +
           "  void m() {\n" +
           "    try {\n" +
           "      throw new Exception();\n" +
           "    } catch (Exception ignored) {\n" +
           "    }\n" +
           "  }\n" +
           "}\n");
  }

  public void testTest() {
    doTest("import junit.framework.TestCase;\n" +
           "class C extends TestCase {\n" +
           "  void m() {\n" +
           "    try {\n" +
           "      throw new Exception();\n" +
           "    } catch (Exception e) {}\n" +
           "  }\n" +
           "}\n");
  }
}