From 581176fa901f958e17000dee21fcadebc50c8d8d Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Mon, 19 Jun 2017 20:54:11 +0300 Subject: [PATCH] AbstractScriptConfigurationTest: adapt to changes in API --- .../core/script/KotlinScriptConfigurationManager.kt | 11 +++++++++++ .../idea/script/AbstractScriptConfigurationTest.kt | 12 +++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptConfigurationManager.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptConfigurationManager.kt index fee87c06367..43b30353a34 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptConfigurationManager.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/KotlinScriptConfigurationManager.kt @@ -324,6 +324,17 @@ class KotlinScriptConfigurationManager( internal val log = Logger.getInstance(KotlinScriptConfigurationManager::class.java) + @TestOnly + fun updateScriptDependenciesSynchronously(virtualFile: VirtualFile, project: Project) { + with(getInstance(project)) { + val scriptDefinition = KotlinScriptDefinitionProvider.getInstance(project)!!.findScriptDefinition(virtualFile)!! + val updated = updateSync(virtualFile, scriptDefinition) + assert(updated) + invalidateLocalCaches() + notifyRootsChanged() + } + } + @TestOnly fun reloadScriptDefinitions(project: Project) { with(getInstance(project)) { diff --git a/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt b/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt index 5cc3fb254ab..5ec9ba4c2f8 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/script/AbstractScriptConfigurationTest.kt @@ -25,6 +25,7 @@ import com.intellij.testFramework.PlatformTestUtil import org.jetbrains.kotlin.checkers.AbstractPsiCheckerTest import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime import org.jetbrains.kotlin.idea.core.script.KotlinScriptConfigurationManager +import org.jetbrains.kotlin.idea.core.script.KotlinScriptConfigurationManager.Companion.updateScriptDependenciesSynchronously import org.jetbrains.kotlin.idea.navigation.GotoCheck import org.jetbrains.kotlin.idea.test.KotlinLightProjectDescriptor import org.jetbrains.kotlin.script.ScriptTemplatesProvider @@ -42,7 +43,7 @@ abstract class AbstractScriptConfigurationHighlightingTest : AbstractScriptConfi override fun doTest(path: String) { configureScriptEnvironment(path) - super.doTest(copyScriptFile(path)) + super.doTest(setupScriptFile(path)) } } @@ -51,7 +52,7 @@ abstract class AbstractScriptConfigurationNavigationTest : AbstractScriptConfigu override fun doTest(path: String) { configureScriptEnvironment(path) - myFixture.configureFromExistingVirtualFile(copyScriptFile(path)) + myFixture.configureFromExistingVirtualFile(setupScriptFile(path)) val reference = myFixture.getReferenceAtCaretPosition()!! val resolved = reference.resolve()!!.navigationElement!! @@ -84,12 +85,13 @@ abstract class AbstractScriptConfigurationTest : AbstractPsiCheckerTest() { registerScriptTemplateProvider(templateOutDir, libClasses, libSrcDir) } - protected fun copyScriptFile(path: String): VirtualFile { + protected fun setupScriptFile(path: String): VirtualFile { val scriptDir = KotlinTestUtils.tmpDir("scriptDir") val target = File(scriptDir, "script.kts") File("${path}script.kts").copyTo(target) - val vFile = LocalFileSystem.getInstance().findFileByPath(target.path)!! - return vFile + val scriptFile = LocalFileSystem.getInstance().findFileByPath(target.path)!! + updateScriptDependenciesSynchronously(scriptFile, project) + return scriptFile } private fun compileLibToDir(srcDir: File, vararg classpath: String): File {