[ULC] Fixed invalid constructor parameter list for UL script

This commit is contained in:
Igor Yakovlev
2020-05-20 22:38:15 +03:00
parent bf91ada06c
commit 6accc8fcf9
5 changed files with 62 additions and 1 deletions
@@ -7,12 +7,16 @@ package org.jetbrains.kotlin.asJava.classes
import com.intellij.testFramework.LightProjectDescriptor
import junit.framework.TestCase
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport
import org.jetbrains.kotlin.asJava.PsiClassRenderer.renderClass
import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager
import org.jetbrains.kotlin.idea.perf.UltraLightChecker
import org.jetbrains.kotlin.idea.perf.UltraLightChecker.checkDescriptorsLeak
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.junit.Assert
import java.io.File
abstract class AbstractUltraLightScriptLoadingTest : KotlinLightCodeInsightFixtureTestCase() {
@@ -29,6 +33,17 @@ abstract class AbstractUltraLightScriptLoadingTest : KotlinLightCodeInsightFixtu
ScriptConfigurationManager.updateScriptDependenciesSynchronously(file)
val expectedTextFile = File(testDataPath.replaceFirst("\\.kts\$".toRegex(), ".java"))
if (expectedTextFile.exists()) {
val ultraLightScript = LightClassGenerationSupport.getInstance(script.project).createUltraLightClassForScript(script)
TestCase.assertTrue(ultraLightScript is KtUltraLightClassForScript)
ultraLightScript!!
val renderedResult = ultraLightScript.renderClass()
KotlinTestUtils.assertEqualsToFile(expectedTextFile, renderedResult)
checkDescriptorsLeak(ultraLightScript)
return
}
val ultraLightClass = UltraLightChecker.checkScriptEquivalence(script)
checkDescriptorsLeak(ultraLightClass)
}