#PY-14614 fixed Add option to ignore PyProtectedMemberInspection in type annotations
[idea/community.git] / python / testSrc / com / jetbrains / python / inspections / PyProtectedMemberInspectionTest.java
1 /*
2  * Copyright 2000-2013 JetBrains s.r.o.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.jetbrains.python.inspections;
17
18 import com.intellij.testFramework.TestDataPath;
19 import com.jetbrains.python.fixtures.PyTestCase;
20 import com.jetbrains.python.psi.LanguageLevel;
21
22 /**
23  * User: ktisha
24  */
25 @TestDataPath("$CONTENT_ROOT/../testData/inspections/PyProtectedMemberInspection")
26 public class PyProtectedMemberInspectionTest extends PyTestCase {
27
28   public void testTruePositive() {
29     doTest();
30   }
31
32   public void testTruePositiveInClass() {
33     doTest();
34   }
35
36   public void testTrueNegative() {
37     doTest();
38   }
39
40   public void testDoubleUnderscore() {
41     doTest();
42   }
43
44   public void testOuterClass() {
45     doTest();
46   }
47
48   public void testSelfField() {
49     doTest();
50   }
51
52   public void testTest() {
53     doTest();
54   }
55
56   public void testNamedTuple() {
57     doTest();
58   }
59
60   public void testFromImport() {
61     doTest();
62   }
63
64   public void testAnnotation() {
65     setLanguageLevel(LanguageLevel.PYTHON34);
66     PyProtectedMemberInspection inspection = new PyProtectedMemberInspection();
67     inspection.ignoreAnnotations = true;
68     myFixture.configureByFile(getTestName(true) + ".py");
69     myFixture.checkHighlighting(false, false, true);
70   }
71
72   public void testModule() {
73     myFixture.configureByFiles(getTestName(true) + ".py", "tmp.py");
74     myFixture.enableInspections(PyProtectedMemberInspection.class);
75     myFixture.checkHighlighting(false, false, true);
76   }
77
78   private void doTest() {
79     myFixture.configureByFile(getTestName(true) + ".py");
80     myFixture.enableInspections(PyProtectedMemberInspection.class);
81     myFixture.checkHighlighting(false, false, true);
82   }
83
84   @Override
85   protected String getTestDataPath() {
86     return super.getTestDataPath() + "/inspections/PyProtectedMemberInspection/";
87   }
88 }