Obsolete KotlinLiteFixture, move utilities to CheckerTestUtilTest
This commit is contained in:
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.psi.KtDeclaration;
|
||||
import org.jetbrains.kotlin.psi.KtFile;
|
||||
import org.jetbrains.kotlin.resolve.BindingContext;
|
||||
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.types.Flexibility;
|
||||
import org.junit.Assert;
|
||||
|
||||
@@ -135,10 +136,10 @@ public abstract class BaseDiagnosticsTest
|
||||
|
||||
if (includeExtras) {
|
||||
if (declareFlexibleType) {
|
||||
jetFiles.add(createPsiFile(null, "EXPLICIT_FLEXIBLE_TYPES.kt", EXPLICIT_FLEXIBLE_TYPES_DECLARATIONS));
|
||||
jetFiles.add(KotlinTestUtils.createFile("EXPLICIT_FLEXIBLE_TYPES.kt", EXPLICIT_FLEXIBLE_TYPES_DECLARATIONS, getProject()));
|
||||
}
|
||||
if (declareCheckType) {
|
||||
jetFiles.add(createPsiFile(null, "CHECK_TYPE.kt", CHECK_TYPE_DECLARATIONS));
|
||||
jetFiles.add(KotlinTestUtils.createFile("CHECK_TYPE.kt", CHECK_TYPE_DECLARATIONS, getProject()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,7 +271,7 @@ public abstract class BaseDiagnosticsTest
|
||||
this.expectedText = textWithMarkers;
|
||||
String textWithExtras = addExtras(expectedText);
|
||||
this.clearText = CheckerTestUtil.parseDiagnosedRanges(textWithExtras, diagnosedRanges);
|
||||
this.jetFile = createCheckAndReturnPsiFile(null, fileName, clearText);
|
||||
this.jetFile = CheckerTestUtilTest.createCheckAndReturnPsiFile(fileName, clearText, getProject());
|
||||
for (CheckerTestUtil.DiagnosedRange diagnosedRange : diagnosedRanges) {
|
||||
diagnosedRange.setFile(jetFile);
|
||||
}
|
||||
|
||||
@@ -17,8 +17,13 @@
|
||||
package org.jetbrains.kotlin.checkers;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.openapi.fileEditor.impl.LoadTextUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiElementVisitor;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.testFramework.LightVirtualFile;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.checkers.CheckerTestUtil.DiagnosedRange;
|
||||
@@ -28,16 +33,16 @@ import org.jetbrains.kotlin.psi.KtFile;
|
||||
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 org.jetbrains.kotlin.test.KotlinTestWithEnvironment;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class CheckerTestUtilTest extends KotlinLiteFixture {
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
public class CheckerTestUtilTest extends KotlinTestWithEnvironment {
|
||||
@NotNull
|
||||
private static String getTestDataPath() {
|
||||
return KotlinTestUtils.getTestDataPathBase() + "/diagnostics/checkerTestUtil";
|
||||
}
|
||||
|
||||
@@ -48,7 +53,28 @@ public class CheckerTestUtilTest extends KotlinLiteFixture {
|
||||
|
||||
protected void doTest(TheTest theTest) throws Exception {
|
||||
String text = KotlinTestUtils.doLoadFile(getTestDataPath(), "test.kt");
|
||||
theTest.test(createCheckAndReturnPsiFile("test", null, text));
|
||||
theTest.test(createCheckAndReturnPsiFile("test.kt", text, getProject()));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static KtFile createCheckAndReturnPsiFile(@NotNull String fileName, @NotNull String text, @NotNull Project project) {
|
||||
KtFile myFile = KotlinTestUtils.createFile(fileName, text, project);
|
||||
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;
|
||||
}
|
||||
|
||||
private static void ensureParsed(PsiFile file) {
|
||||
file.accept(new PsiElementVisitor() {
|
||||
@Override
|
||||
public void visitElement(@NotNull PsiElement element) {
|
||||
element.acceptChildren(this);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void testEquals() throws Exception {
|
||||
|
||||
@@ -25,8 +25,8 @@ import org.jetbrains.kotlin.config.CompilerConfiguration;
|
||||
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.jetbrains.kotlin.test.KotlinTestWithEnvironment;
|
||||
import org.junit.Assert;
|
||||
|
||||
import java.io.File;
|
||||
@@ -35,11 +35,12 @@ import java.util.Collection;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class KtPsiUtilTest extends KotlinLiteFixture {
|
||||
public class KtPsiUtilTest extends KotlinTestWithEnvironment {
|
||||
@NotNull
|
||||
private KtFile loadPsiFile(@NotNull String name) {
|
||||
try {
|
||||
return createPsiFile(name, null, KotlinTestUtils.doLoadFile(getTestDataPath(), name));
|
||||
String text = KotlinTestUtils.doLoadFile(KotlinTestUtils.getTestDataPathBase(), name);
|
||||
return KotlinTestUtils.createFile(name + ".kt", text, getProject());
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -82,7 +83,7 @@ public class KtPsiUtilTest extends KotlinLiteFixture {
|
||||
}
|
||||
|
||||
public void testIsLocalClass() throws IOException {
|
||||
String text = FileUtil.loadFile(new File(getTestDataPath() + "/psiUtil/isLocalClass.kt"), true);
|
||||
String text = FileUtil.loadFile(new File(KotlinTestUtils.getTestDataPathBase() + "/psiUtil/isLocalClass.kt"), true);
|
||||
KtClass aClass = KtPsiFactoryKt.KtPsiFactory(getProject()).createClass(text);
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@@ -91,10 +92,10 @@ public class KtPsiUtilTest extends KotlinLiteFixture {
|
||||
for (KtClassOrObject classOrObject : classOrObjects) {
|
||||
String classOrObjectName = classOrObject.getName();
|
||||
if (classOrObjectName != null && classOrObjectName.contains("Local")) {
|
||||
assertTrue("JetPsiUtil.isLocalClass should return true for " + classOrObjectName, KtPsiUtil.isLocal(classOrObject));
|
||||
assertTrue("KtPsiUtil.isLocal should return true for " + classOrObjectName, KtPsiUtil.isLocal(classOrObject));
|
||||
}
|
||||
else {
|
||||
assertFalse("JetPsiUtil.isLocalClass should return false for " + classOrObjectName, KtPsiUtil.isLocal(classOrObject));
|
||||
assertFalse("KtPsiUtil.isLocal should return false for " + classOrObjectName, KtPsiUtil.isLocal(classOrObject));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,21 +17,21 @@
|
||||
package org.jetbrains.kotlin.resolve;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.kotlin.checkers.CheckerTestUtilTest;
|
||||
import org.jetbrains.kotlin.psi.KtFile;
|
||||
|
||||
public abstract class AbstractResolveTest extends ExtensibleResolveTestCase {
|
||||
|
||||
@Override
|
||||
protected ExpectedResolveData getExpectedResolveData() {
|
||||
Project project = getProject();
|
||||
final Project project = getProject();
|
||||
|
||||
return new ExpectedResolveData(
|
||||
ExpectedResolveDataUtil.prepareDefaultNameToDescriptors(project, getEnvironment()),
|
||||
ExpectedResolveDataUtil.prepareDefaultNameToDeclaration(project, getEnvironment())
|
||||
) {
|
||||
@Override
|
||||
protected KtFile createJetFile(String fileName, String text) {
|
||||
return createCheckAndReturnPsiFile(fileName, null, text);
|
||||
protected KtFile createKtFile(String fileName, String text) {
|
||||
return CheckerTestUtilTest.createCheckAndReturnPsiFile(fileName, text, project);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.intellij.psi.util.PsiTreeUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.analyzer.AnalysisResult;
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.diagnostics.Diagnostic;
|
||||
@@ -118,21 +117,21 @@ public abstract class ExpectedResolveData {
|
||||
text = text.substring(0, start) + text.substring(matcher.end());
|
||||
}
|
||||
|
||||
KtFile jetFile = createJetFile(fileName, text);
|
||||
KtFile ktFile = createKtFile(fileName, text);
|
||||
|
||||
for (Map.Entry<Integer, String> entry : intPositionToType.entrySet()) {
|
||||
positionToType.put(new Position(jetFile, entry.getKey()), entry.getValue());
|
||||
positionToType.put(new Position(ktFile, entry.getKey()), entry.getValue());
|
||||
}
|
||||
for (Map.Entry<String, Integer> entry : declarationToIntPosition.entrySet()) {
|
||||
declarationToPosition.put(entry.getKey(), new Position(jetFile, entry.getValue()));
|
||||
declarationToPosition.put(entry.getKey(), new Position(ktFile, entry.getValue()));
|
||||
}
|
||||
for (Map.Entry<Integer, String> entry : intPositionToReference.entrySet()) {
|
||||
positionToReference.put(new Position(jetFile, entry.getKey()), entry.getValue());
|
||||
positionToReference.put(new Position(ktFile, entry.getKey()), entry.getValue());
|
||||
}
|
||||
return jetFile;
|
||||
return ktFile;
|
||||
}
|
||||
|
||||
protected abstract KtFile createJetFile(String fileName, String text);
|
||||
protected abstract KtFile createKtFile(String fileName, String text);
|
||||
|
||||
protected static BindingContext analyze(List<KtFile> files, KotlinCoreEnvironment environment) {
|
||||
if (files.isEmpty()) {
|
||||
|
||||
+5
-7
@@ -26,16 +26,15 @@ import org.jetbrains.kotlin.resolve.calls.inference.ConstraintSystemBuilderImpl
|
||||
import org.jetbrains.kotlin.resolve.calls.inference.constraintPosition.ConstraintPositionKind.SPECIAL
|
||||
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 org.jetbrains.kotlin.test.KotlinTestWithEnvironment
|
||||
import org.jetbrains.kotlin.tests.di.createContainerForTests
|
||||
import org.jetbrains.kotlin.types.ErrorUtils
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
import java.io.File
|
||||
|
||||
abstract class AbstractConstraintSystemTest() : KotlinLiteFixture() {
|
||||
|
||||
abstract class AbstractConstraintSystemTest : KotlinTestWithEnvironment() {
|
||||
private var _typeResolver: TypeResolver? = null
|
||||
private val typeResolver: TypeResolver
|
||||
get() = _typeResolver!!
|
||||
@@ -61,14 +60,13 @@ abstract class AbstractConstraintSystemTest() : KotlinLiteFixture() {
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
override fun getTestDataPath(): String {
|
||||
return super.getTestDataPath() + "/constraintSystem/"
|
||||
}
|
||||
private val testDataPath: String
|
||||
get() = KotlinTestUtils.getTestDataPathBase() + "/constraintSystem/"
|
||||
|
||||
private fun analyzeDeclarations(): ConstraintSystemTestData {
|
||||
val fileName = "declarations.kt"
|
||||
|
||||
val psiFile = createPsiFile(null, fileName, KotlinTestUtils.doLoadFile(testDataPath, fileName))!!
|
||||
val psiFile = KotlinTestUtils.createFile(fileName, KotlinTestUtils.doLoadFile(testDataPath, fileName), project)
|
||||
val bindingContext = JvmResolveUtil.analyzeOneFileWithJavaIntegrationAndCheckForErrors(psiFile).bindingContext
|
||||
return ConstraintSystemTestData(bindingContext, project, typeResolver)
|
||||
}
|
||||
|
||||
+4
-4
@@ -25,8 +25,8 @@ import org.jetbrains.kotlin.resolve.calls.inference.createCapturedType
|
||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||
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 org.jetbrains.kotlin.test.KotlinTestWithEnvironment
|
||||
import org.jetbrains.kotlin.types.TypeProjection
|
||||
import org.jetbrains.kotlin.types.TypeProjectionImpl
|
||||
import org.jetbrains.kotlin.types.TypeSubstitutor
|
||||
@@ -36,9 +36,9 @@ import org.jetbrains.kotlin.types.typesApproximation.approximateCapturedTypesIfN
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
|
||||
class CapturedTypeApproximationTest() : KotlinLiteFixture() {
|
||||
|
||||
override fun getTestDataPath() = "compiler/testData/capturedTypeApproximation/"
|
||||
class CapturedTypeApproximationTest : KotlinTestWithEnvironment() {
|
||||
private val testDataPath: String
|
||||
get() = KotlinTestUtils.getTestDataPathBase() + "/capturedTypeApproximation/"
|
||||
|
||||
override fun createEnvironment(): KotlinCoreEnvironment = createEnvironmentWithMockJdk(ConfigurationKind.JDK_ONLY)
|
||||
|
||||
|
||||
@@ -16,46 +16,5 @@
|
||||
|
||||
package org.jetbrains.kotlin.test;
|
||||
|
||||
import com.intellij.openapi.fileEditor.impl.LoadTextUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiElementVisitor;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.testFramework.LightVirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.psi.KtFile;
|
||||
import org.junit.Assert;
|
||||
|
||||
public abstract class KotlinLiteFixture extends KotlinTestWithEnvironment {
|
||||
protected String getTestDataPath() {
|
||||
return KotlinTestUtils.getTestDataPathBase();
|
||||
}
|
||||
|
||||
protected KtFile createPsiFile(@Nullable String testName, @Nullable String fileName, String text) {
|
||||
if (fileName == null) {
|
||||
Assert.assertNotNull(testName);
|
||||
fileName = testName + ".kt";
|
||||
}
|
||||
return KotlinTestUtils.createFile(fileName, text, getProject());
|
||||
}
|
||||
|
||||
private static void ensureParsed(PsiFile file) {
|
||||
file.accept(new PsiElementVisitor() {
|
||||
@Override
|
||||
public void visitElement(@NotNull PsiElement element) {
|
||||
element.acceptChildren(this);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,8 +35,8 @@ import org.jetbrains.kotlin.resolve.BindingContext;
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.ErrorsJvm;
|
||||
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 org.jetbrains.kotlin.test.KotlinTestWithEnvironment;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Field;
|
||||
@@ -44,7 +44,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public abstract class AbstractDiagnosticMessageTest extends KotlinLiteFixture {
|
||||
public abstract class AbstractDiagnosticMessageTest extends KotlinTestWithEnvironment {
|
||||
private static final String DIAGNOSTICS_NUMBER_DIRECTIVE = "DIAGNOSTICS_NUMBER";
|
||||
private static final String DIAGNOSTICS_DIRECTIVE = "DIAGNOSTICS";
|
||||
private static final String MESSAGE_TYPE_DIRECTIVE = "MESSAGE_TYPE";
|
||||
@@ -68,7 +68,6 @@ public abstract class AbstractDiagnosticMessageTest extends KotlinLiteFixture {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return PluginTestCaseBase.getTestDataPathBase() + "/diagnosticMessage/";
|
||||
}
|
||||
@@ -88,7 +87,7 @@ public abstract class AbstractDiagnosticMessageTest extends KotlinLiteFixture {
|
||||
final Set<DiagnosticFactory<?>> diagnosticFactories = getDiagnosticFactories(directives);
|
||||
MessageType messageType = getMessageTypeDirective(directives);
|
||||
|
||||
KtFile psiFile = createPsiFile(null, fileName, KotlinTestUtils.doLoadFile(getTestDataPath(), fileName));
|
||||
KtFile psiFile = KotlinTestUtils.createFile(fileName, KotlinTestUtils.doLoadFile(getTestDataPath(), fileName), getProject());
|
||||
AnalysisResult analysisResult = analyze(psiFile);
|
||||
BindingContext bindingContext = analysisResult.getBindingContext();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user