From adea547d8a369ae5dd03986a8952f65bd9edc68e Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 23 Feb 2016 18:19:36 +0300 Subject: [PATCH] Inline KotlinLiteFixture#loadFile, refactor surroundings --- .../kotlin/checkers/CheckerTestUtilTest.java | 14 ++--- .../jetbrains/kotlin/psi/KtPsiUtilTest.java | 12 ++++ .../AbstractConstraintSystemTest.kt | 4 +- .../kotlin/test/KotlinLiteFixture.java | 58 ++----------------- .../kotlin/types/KotlinTypeCheckerTest.java | 7 --- .../AbstractDiagnosticMessageTest.java | 2 +- 6 files changed, 26 insertions(+), 71 deletions(-) diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java b/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java index 3a7f8473ad1..729efcbb578 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/CheckerTestUtilTest.java @@ -29,15 +29,16 @@ import org.jetbrains.kotlin.resolve.BindingContext; import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil; import org.jetbrains.kotlin.test.ConfigurationKind; import org.jetbrains.kotlin.test.KotlinLiteFixture; +import org.jetbrains.kotlin.test.KotlinTestUtils; import java.io.File; import java.util.Collections; import java.util.List; public class CheckerTestUtilTest extends KotlinLiteFixture { - - public CheckerTestUtilTest() { - super("diagnostics/checkerTestUtil"); + @Override + protected String getTestDataPath() { + return KotlinTestUtils.getTestDataPathBase() + "/diagnostics/checkerTestUtil"; } @Override @@ -45,10 +46,9 @@ public class CheckerTestUtilTest extends KotlinLiteFixture { return createEnvironmentWithMockJdk(ConfigurationKind.ALL); } - protected void doTest(TheTest theTest) throws Exception { - prepareForTest("test"); - theTest.test(getFile()); + String text = KotlinTestUtils.doLoadFile(getTestDataPath(), "test.kt"); + theTest.test(createCheckAndReturnPsiFile("test", null, text)); } public void testEquals() throws Exception { @@ -132,7 +132,7 @@ public class CheckerTestUtilTest extends KotlinLiteFixture { AbstractDiagnosticsTest test = new AbstractDiagnosticsTest() { {setUp();} }; - test.doTest(myFullDataPath + File.separatorChar + "test_with_diagnostic.kt"); + test.doTest(getTestDataPath() + File.separatorChar + "test_with_diagnostic.kt"); } private static abstract class TheTest { diff --git a/compiler/tests/org/jetbrains/kotlin/psi/KtPsiUtilTest.java b/compiler/tests/org/jetbrains/kotlin/psi/KtPsiUtilTest.java index ecb3f90f2c1..0f855b68cd3 100644 --- a/compiler/tests/org/jetbrains/kotlin/psi/KtPsiUtilTest.java +++ b/compiler/tests/org/jetbrains/kotlin/psi/KtPsiUtilTest.java @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.psi; import com.intellij.openapi.util.io.FileUtil; import com.intellij.psi.util.PsiTreeUtil; +import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; import org.jetbrains.kotlin.config.CompilerConfiguration; @@ -25,6 +26,7 @@ import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.resolve.ImportPath; import org.jetbrains.kotlin.test.KotlinLiteFixture; +import org.jetbrains.kotlin.test.KotlinTestUtils; import org.junit.Assert; import java.io.File; @@ -34,6 +36,16 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class KtPsiUtilTest extends KotlinLiteFixture { + @NotNull + private KtFile loadPsiFile(@NotNull String name) { + try { + return createPsiFile(name, null, KotlinTestUtils.doLoadFile(getTestDataPath(), name)); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + public void testUnquotedIdentifier() { Assert.assertEquals("", KtPsiUtil.unquoteIdentifier("")); Assert.assertEquals("a2", KtPsiUtil.unquoteIdentifier("a2")); diff --git a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt index 245a6245b83..9705f4f6a1e 100644 --- a/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/resolve/constraintSystem/AbstractConstraintSystemTest.kt @@ -58,7 +58,7 @@ abstract class AbstractConstraintSystemTest() : KotlinLiteFixture() { override fun tearDown() { _typeResolver = null _testDeclarations = null - super.tearDown() + super.tearDown() } override fun getTestDataPath(): String { @@ -68,7 +68,7 @@ abstract class AbstractConstraintSystemTest() : KotlinLiteFixture() { private fun analyzeDeclarations(): ConstraintSystemTestData { val fileName = "declarations.kt" - val psiFile = createPsiFile(null, fileName, loadFile(fileName))!! + val psiFile = createPsiFile(null, fileName, KotlinTestUtils.doLoadFile(testDataPath, fileName))!! val bindingContext = JvmResolveUtil.analyzeOneFileWithJavaIntegrationAndCheckForErrors(psiFile).bindingContext return ConstraintSystemTestData(bindingContext, project, typeResolver) } diff --git a/compiler/tests/org/jetbrains/kotlin/test/KotlinLiteFixture.java b/compiler/tests/org/jetbrains/kotlin/test/KotlinLiteFixture.java index 84613728f57..d4f7cce6d81 100644 --- a/compiler/tests/org/jetbrains/kotlin/test/KotlinLiteFixture.java +++ b/compiler/tests/org/jetbrains/kotlin/test/KotlinLiteFixture.java @@ -21,51 +21,17 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElementVisitor; import com.intellij.psi.PsiFile; import com.intellij.testFramework.LightVirtualFile; -import com.intellij.testFramework.TestDataFile; -import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.psi.KtFile; import org.jetbrains.kotlin.resolve.lazy.KotlinTestWithEnvironment; import org.junit.Assert; -import java.io.IOException; - public abstract class KotlinLiteFixture extends KotlinTestWithEnvironment { - @NonNls - protected final String myFullDataPath; - private KtFile myFile; - - public KotlinLiteFixture(@NonNls String dataPath) { - myFullDataPath = getTestDataPath() + "/" + dataPath; - } - - public KotlinLiteFixture() { - myFullDataPath = getTestDataPath(); - } - - protected KtFile getFile() { - return myFile; - } - protected String getTestDataPath() { return KotlinTestUtils.getTestDataPathBase(); } - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - myFile = null; - super.tearDown(); - } - - protected String loadFile(@NonNls @TestDataFile String name) throws IOException { - return KotlinTestUtils.doLoadFile(myFullDataPath, name); - } - protected KtFile createPsiFile(@Nullable String testName, @Nullable String fileName, String text) { if (fileName == null) { Assert.assertNotNull(testName); @@ -74,37 +40,21 @@ public abstract class KotlinLiteFixture extends KotlinTestWithEnvironment { return KotlinTestUtils.createFile(fileName, text, getProject()); } - protected KtFile loadPsiFile(String name) { - try { - return createPsiFile(name, null, loadFile(name)); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - protected static void ensureParsed(PsiFile file) { + private static void ensureParsed(PsiFile file) { file.accept(new PsiElementVisitor() { @Override - public void visitElement(PsiElement element) { + public void visitElement(@NotNull PsiElement element) { element.acceptChildren(this); } }); } - protected void prepareForTest(String name) throws IOException { - String text = loadFile(name + ".kt"); - createAndCheckPsiFile(name, text); - } - - protected void createAndCheckPsiFile(String name, String text) { - myFile = createCheckAndReturnPsiFile(name, null, text); - } - protected KtFile createCheckAndReturnPsiFile(String testName, String fileName, String text) { KtFile myFile = createPsiFile(testName, fileName, text); ensureParsed(myFile); assertEquals("light virtual file text mismatch", text, ((LightVirtualFile) myFile.getVirtualFile()).getContent().toString()); assertEquals("virtual file text mismatch", text, LoadTextUtil.loadText(myFile.getVirtualFile())); + //noinspection ConstantConditions assertEquals("doc text mismatch", text, myFile.getViewProvider().getDocument().getText()); assertEquals("psi text mismatch", text, myFile.getText()); return myFile; diff --git a/compiler/tests/org/jetbrains/kotlin/types/KotlinTypeCheckerTest.java b/compiler/tests/org/jetbrains/kotlin/types/KotlinTypeCheckerTest.java index 23ae2d24d23..8f6cee98e2a 100644 --- a/compiler/tests/org/jetbrains/kotlin/types/KotlinTypeCheckerTest.java +++ b/compiler/tests/org/jetbrains/kotlin/types/KotlinTypeCheckerTest.java @@ -51,17 +51,11 @@ import java.io.IOException; import java.util.*; public class KotlinTypeCheckerTest extends KotlinLiteFixture { - private KotlinBuiltIns builtIns; private LexicalScope scopeWithImports; private TypeResolver typeResolver; private ExpressionTypingServices expressionTypingServices; - - public KotlinTypeCheckerTest() { - super(""); - } - @Override protected KotlinCoreEnvironment createEnvironment() { return createEnvironmentWithMockJdk(ConfigurationKind.ALL); @@ -71,7 +65,6 @@ public class KotlinTypeCheckerTest extends KotlinLiteFixture { public void setUp() throws Exception { super.setUp(); - ModuleDescriptorImpl module = KotlinTestUtils.createEmptyModule(); builtIns = module.getBuiltIns(); ContainerForTests container = InjectionKt.createContainerForTests(getProject(), module); diff --git a/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageTest.java b/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageTest.java index 1418a0c50b5..a2160f7076d 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/highlighter/AbstractDiagnosticMessageTest.java @@ -88,7 +88,7 @@ public abstract class AbstractDiagnosticMessageTest extends KotlinLiteFixture { final Set> diagnosticFactories = getDiagnosticFactories(directives); MessageType messageType = getMessageTypeDirective(directives); - KtFile psiFile = createPsiFile(null, fileName, loadFile(fileName)); + KtFile psiFile = createPsiFile(null, fileName, KotlinTestUtils.doLoadFile(getTestDataPath(), fileName)); AnalysisResult analysisResult = analyze(psiFile); BindingContext bindingContext = analysisResult.getBindingContext();