AbstractResolveByStubTest: J2K

This commit is contained in:
Dmitry Jemerov
2017-03-23 15:55:01 +01:00
parent 49aaa0edf6
commit d8bbb8f2ef
@@ -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 "";
} }
} }