From ed9732aa8261e7db7e4841c62c1261e706ffd3a5 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Tue, 29 Aug 2017 17:41:02 +0300 Subject: [PATCH] Added PyInspectionTestCase as base class for stub->AST checks --- .../my_package/__init__.py | 0 .../my_package/_package_internal_module.py | 0 .../my_package/my_public_module.py | 0 .../{module.py => Module/a.py} | 0 .../{ => Module}/tmp.py | 0 .../PyProtectedMemberInspectionTest.java | 43 ++++++++----------- 6 files changed, 18 insertions(+), 25 deletions(-) rename python/testData/inspections/PyProtectedMemberInspection/{importFromTheSamePackage => ImportFromTheSamePackage}/my_package/__init__.py (100%) rename python/testData/inspections/PyProtectedMemberInspection/{importFromTheSamePackage => ImportFromTheSamePackage}/my_package/_package_internal_module.py (100%) rename python/testData/inspections/PyProtectedMemberInspection/{importFromTheSamePackage => ImportFromTheSamePackage}/my_package/my_public_module.py (100%) rename python/testData/inspections/PyProtectedMemberInspection/{module.py => Module/a.py} (100%) rename python/testData/inspections/PyProtectedMemberInspection/{ => Module}/tmp.py (100%) diff --git a/python/testData/inspections/PyProtectedMemberInspection/importFromTheSamePackage/my_package/__init__.py b/python/testData/inspections/PyProtectedMemberInspection/ImportFromTheSamePackage/my_package/__init__.py similarity index 100% rename from python/testData/inspections/PyProtectedMemberInspection/importFromTheSamePackage/my_package/__init__.py rename to python/testData/inspections/PyProtectedMemberInspection/ImportFromTheSamePackage/my_package/__init__.py diff --git a/python/testData/inspections/PyProtectedMemberInspection/importFromTheSamePackage/my_package/_package_internal_module.py b/python/testData/inspections/PyProtectedMemberInspection/ImportFromTheSamePackage/my_package/_package_internal_module.py similarity index 100% rename from python/testData/inspections/PyProtectedMemberInspection/importFromTheSamePackage/my_package/_package_internal_module.py rename to python/testData/inspections/PyProtectedMemberInspection/ImportFromTheSamePackage/my_package/_package_internal_module.py diff --git a/python/testData/inspections/PyProtectedMemberInspection/importFromTheSamePackage/my_package/my_public_module.py b/python/testData/inspections/PyProtectedMemberInspection/ImportFromTheSamePackage/my_package/my_public_module.py similarity index 100% rename from python/testData/inspections/PyProtectedMemberInspection/importFromTheSamePackage/my_package/my_public_module.py rename to python/testData/inspections/PyProtectedMemberInspection/ImportFromTheSamePackage/my_package/my_public_module.py diff --git a/python/testData/inspections/PyProtectedMemberInspection/module.py b/python/testData/inspections/PyProtectedMemberInspection/Module/a.py similarity index 100% rename from python/testData/inspections/PyProtectedMemberInspection/module.py rename to python/testData/inspections/PyProtectedMemberInspection/Module/a.py diff --git a/python/testData/inspections/PyProtectedMemberInspection/tmp.py b/python/testData/inspections/PyProtectedMemberInspection/Module/tmp.py similarity index 100% rename from python/testData/inspections/PyProtectedMemberInspection/tmp.py rename to python/testData/inspections/PyProtectedMemberInspection/Module/tmp.py diff --git a/python/testSrc/com/jetbrains/python/inspections/PyProtectedMemberInspectionTest.java b/python/testSrc/com/jetbrains/python/inspections/PyProtectedMemberInspectionTest.java index d8df6ace16cc..e25abcb647b2 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyProtectedMemberInspectionTest.java +++ b/python/testSrc/com/jetbrains/python/inspections/PyProtectedMemberInspectionTest.java @@ -15,12 +15,12 @@ */ package com.jetbrains.python.inspections; -import com.intellij.testFramework.TestDataPath; -import com.jetbrains.python.fixtures.PyTestCase; +import com.intellij.psi.PsiFile; +import com.jetbrains.python.fixtures.PyInspectionTestCase; import com.jetbrains.python.psi.LanguageLevel; +import org.jetbrains.annotations.NotNull; -@TestDataPath("$CONTENT_ROOT/../testData/inspections/PyProtectedMemberInspection") -public class PyProtectedMemberInspectionTest extends PyTestCase { +public class PyProtectedMemberInspectionTest extends PyInspectionTestCase { public void testTruePositive() { doTest(); @@ -60,36 +60,29 @@ public class PyProtectedMemberInspectionTest extends PyTestCase { } public void testAnnotation() { - setLanguageLevel(LanguageLevel.PYTHON34); - PyProtectedMemberInspection inspection = new PyProtectedMemberInspection(); - inspection.ignoreAnnotations = true; - myFixture.configureByFile(getTestName(true) + ".py"); - myFixture.checkHighlighting(false, false, true); + runWithLanguageLevel(LanguageLevel.PYTHON34, () -> { + setLanguageLevel(LanguageLevel.PYTHON34); + PyProtectedMemberInspection inspection = new PyProtectedMemberInspection(); + inspection.ignoreAnnotations = true; + myFixture.enableInspections(inspection); + final PsiFile currentFile = myFixture.configureByFile(getTestFilePath()); + myFixture.checkHighlighting(isWarning(), isInfo(), isWeakWarning()); + assertSdkRootsNotParsed(currentFile); + }); } //PY-14234 public void testImportFromTheSamePackage() { - String path = getTestName(true); - myFixture.copyDirectoryToProject(path + "/my_package", "./my_package"); - myFixture.configureByFile("/my_package/my_public_module.py"); - myFixture.enableInspections(PyProtectedMemberInspection.class); - myFixture.checkHighlighting(false, false, true); + doMultiFileTest("my_package/my_public_module.py"); } public void testModule() { - myFixture.configureByFiles(getTestName(true) + ".py", "tmp.py"); - myFixture.enableInspections(PyProtectedMemberInspection.class); - myFixture.checkHighlighting(false, false, true); - } - - private void doTest() { - myFixture.configureByFile(getTestName(true) + ".py"); - myFixture.enableInspections(PyProtectedMemberInspection.class); - myFixture.checkHighlighting(false, false, true); + doMultiFileTest(); } + @NotNull @Override - protected String getTestDataPath() { - return super.getTestDataPath() + "/inspections/PyProtectedMemberInspection/"; + protected Class getInspectionClass() { + return PyProtectedMemberInspection.class; } }