AbstractResolveByStubTest: J2K
This commit is contained in:
@@ -14,54 +14,44 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.jetbrains.kotlin.idea.stubs;
|
package org.jetbrains.kotlin.idea.stubs
|
||||||
|
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import kotlin.Unit;
|
import org.jetbrains.kotlin.idea.caches.resolve.findModuleDescriptor
|
||||||
import kotlin.jvm.functions.Function0;
|
import org.jetbrains.kotlin.idea.test.AstAccessControl
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase
|
||||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
import org.jetbrains.kotlin.idea.test.configureAs
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolutionUtils;
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.idea.test.*;
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.name.FqName;
|
import org.jetbrains.kotlin.test.util.DescriptorValidator.ValidationVisitor.errorTypesForbidden
|
||||||
import org.jetbrains.kotlin.psi.KtFile;
|
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator
|
||||||
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
|
import org.junit.Assert
|
||||||
import org.junit.Assert;
|
import java.io.File
|
||||||
|
|
||||||
import java.io.File;
|
abstract class AbstractResolveByStubTest : KotlinCodeInsightTestCase() {
|
||||||
|
@Throws(Exception::class)
|
||||||
import static org.jetbrains.kotlin.test.util.DescriptorValidator.ValidationVisitor.errorTypesForbidden;
|
protected fun doTest(testFileName: String) {
|
||||||
|
doTest(testFileName, true, true)
|
||||||
public abstract class AbstractResolveByStubTest extends KotlinCodeInsightTestCase {
|
|
||||||
protected void doTest(String testFileName) throws Exception {
|
|
||||||
doTest(testFileName, true, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doTest(@NotNull final String path, final boolean checkPrimaryConstructors, final boolean checkPropertyAccessors)
|
@Throws(Exception::class)
|
||||||
throws Exception {
|
private fun doTest(path: String, checkPrimaryConstructors: Boolean, checkPropertyAccessors: Boolean) {
|
||||||
configureByFile(path);
|
configureByFile(path)
|
||||||
TestUtilsKt.configureAs(getModule(), KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE);
|
module.configureAs(KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE)
|
||||||
boolean shouldFail = getTestName(false).equals("ClassWithConstVal");
|
val shouldFail = getTestName(false) == "ClassWithConstVal"
|
||||||
AstAccessControl.INSTANCE.testWithControlledAccessToAst(
|
AstAccessControl.testWithControlledAccessToAst(shouldFail, project, testRootDisposable) {
|
||||||
shouldFail, getProject(), getTestRootDisposable(),
|
performTest(path, checkPrimaryConstructors, checkPropertyAccessors)
|
||||||
new Function0<Unit>() {
|
}
|
||||||
@Override
|
|
||||||
public Unit invoke() {
|
|
||||||
performTest(path, checkPrimaryConstructors, checkPropertyAccessors);
|
|
||||||
return Unit.INSTANCE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void performTest(@NotNull String path, boolean checkPrimaryConstructors, boolean checkPropertyAccessors) {
|
private fun performTest(path: String, checkPrimaryConstructors: Boolean, checkPropertyAccessors: Boolean) {
|
||||||
KtFile file = (KtFile) getFile();
|
val file = file as KtFile
|
||||||
ModuleDescriptor module = ResolutionUtils.findModuleDescriptor(file);
|
val module = file.findModuleDescriptor()
|
||||||
PackageViewDescriptor packageViewDescriptor = module.getPackage(new FqName("test"));
|
val packageViewDescriptor = module.getPackage(FqName("test"))
|
||||||
Assert.assertFalse(packageViewDescriptor.isEmpty());
|
Assert.assertFalse(packageViewDescriptor.isEmpty())
|
||||||
|
|
||||||
File fileToCompareTo = new File(FileUtil.getNameWithoutExtension(path) + ".txt");
|
val fileToCompareTo = File(FileUtil.getNameWithoutExtension(path) + ".txt")
|
||||||
|
|
||||||
RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile(
|
RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile(
|
||||||
packageViewDescriptor,
|
packageViewDescriptor,
|
||||||
@@ -71,11 +61,10 @@ public abstract class AbstractResolveByStubTest extends KotlinCodeInsightTestCas
|
|||||||
.checkPropertyAccessors(checkPropertyAccessors)
|
.checkPropertyAccessors(checkPropertyAccessors)
|
||||||
.withValidationStrategy(errorTypesForbidden()),
|
.withValidationStrategy(errorTypesForbidden()),
|
||||||
fileToCompareTo
|
fileToCompareTo
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
override fun getTestDataPath(): String {
|
||||||
protected String getTestDataPath() {
|
return ""
|
||||||
return "";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user