2 * Copyright 2000-2013 JetBrains s.r.o.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package com.jetbrains.python.inspections;
18 import com.intellij.testFramework.TestDataPath;
19 import com.jetbrains.python.fixtures.PyTestCase;
20 import com.jetbrains.python.psi.LanguageLevel;
25 @TestDataPath("$CONTENT_ROOT/../testData/inspections/PyProtectedMemberInspection")
26 public class PyProtectedMemberInspectionTest extends PyTestCase {
28 public void testTruePositive() {
32 public void testTruePositiveInClass() {
36 public void testTrueNegative() {
40 public void testDoubleUnderscore() {
44 public void testOuterClass() {
48 public void testSelfField() {
52 public void testTest() {
56 public void testNamedTuple() {
60 public void testFromImport() {
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);
72 public void testModule() {
73 myFixture.configureByFiles(getTestName(true) + ".py", "tmp.py");
74 myFixture.enableInspections(PyProtectedMemberInspection.class);
75 myFixture.checkHighlighting(false, false, true);
78 private void doTest() {
79 myFixture.configureByFile(getTestName(true) + ".py");
80 myFixture.enableInspections(PyProtectedMemberInspection.class);
81 myFixture.checkHighlighting(false, false, true);
85 protected String getTestDataPath() {
86 return super.getTestDataPath() + "/inspections/PyProtectedMemberInspection/";