force restore language level after all tests that change it

This commit is contained in:
Dmitry Jemerov
2010-03-12 17:19:35 +03:00
parent b6bd02bd87
commit 2d0d11ef85
6 changed files with 16 additions and 34 deletions

View File

@@ -161,4 +161,9 @@ public class PythonLanguageLevelPusher implements FilePropertyPusher<LanguageLev
PushedFilePropertiesUpdater.findAndUpdateValue(project, file, this, languageLevel);
}
}
public static void setForcedLanguageLevel(final Project project, LanguageLevel languageLevel) {
FORCE_LANGUAGE_LEVEL = languageLevel;
pushLanguageLevel(project);
}
}

View File

@@ -21,13 +21,12 @@ public class PyIntentionTest extends PyLightFixtureTestCase {
}
private void doTest(String hint, LanguageLevel languageLevel) throws Exception {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = languageLevel;
PythonLanguageLevelPusher.pushLanguageLevel(myFixture.getProject());
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), languageLevel);
try {
doTest(hint);
}
finally {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = null;
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), null);
}
}

View File

@@ -103,25 +103,8 @@ public class PyQuickFixTest extends PyLightFixtureTestCase {
PyBundle.message("QFIX.add.global"), true, true);
}
protected void doInspectionTest(@NonNls String testFileName,
final Class inspectionClass,
@NonNls String quickFixName,
boolean applyFix,
boolean available,
LanguageLevel languageLevel) throws Exception {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = languageLevel;
PythonLanguageLevelPusher.pushLanguageLevel(myFixture.getProject());
try {
doInspectionTest(testFileName, inspectionClass, quickFixName, applyFix, available);
}
finally {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = null;
}
}
protected
@NonNls
String getTestDataPath() {
protected String getTestDataPath() {
return PythonTestUtil.getTestDataPath() + "/inspections/";
}

View File

@@ -148,13 +148,12 @@ public class PythonHighlightingTest extends PyLightFixtureTestCase {
}
private void doTest(final LanguageLevel languageLevel, final boolean checkWarnings, final boolean checkInfos) throws Exception {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = languageLevel;
PythonLanguageLevelPusher.pushLanguageLevel(myFixture.getProject());
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), languageLevel);
try {
doTest(checkWarnings, checkInfos);
}
finally {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = null;
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), null);
}
}

View File

@@ -21,14 +21,12 @@ public class PythonInspectionsTest extends PyLightFixtureTestCase {
}
private void doTestWithPy3k(String testName, LocalInspectionTool localInspectionTool) throws Throwable {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = LanguageLevel.PYTHON30;
PythonLanguageLevelPusher.pushLanguageLevel(myFixture.getProject());
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), LanguageLevel.PYTHON30);
try {
doTest(testName, localInspectionTool);
}
finally {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = null;
PythonLanguageLevelPusher.pushLanguageLevel(myFixture.getProject());
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), null);
}
}
@@ -88,14 +86,13 @@ public class PythonInspectionsTest extends PyLightFixtureTestCase {
}
public void testPyDeprecatedModulesInspection() throws Throwable {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = LanguageLevel.PYTHON25;
PythonLanguageLevelPusher.pushLanguageLevel(myFixture.getProject());
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), LanguageLevel.PYTHON25);
try {
LocalInspectionTool inspection = new PyDeprecatedModulesInspection();
doTest(getTestName(false), inspection);
}
finally {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = null;
PythonLanguageLevelPusher.setForcedLanguageLevel(myFixture.getProject(), null);
}
}

View File

@@ -207,13 +207,12 @@ public class PythonParsingTest extends ParsingTestCase {
}
public void doTest(LanguageLevel languageLevel) throws Exception {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = languageLevel;
PythonLanguageLevelPusher.pushLanguageLevel(getProject());
PythonLanguageLevelPusher.setForcedLanguageLevel(ourProject, languageLevel);
try {
doTest(true);
}
finally {
PythonLanguageLevelPusher.FORCE_LANGUAGE_LEVEL = null;
PythonLanguageLevelPusher.setForcedLanguageLevel(ourProject, null);
}
}
}