From 7d66e3f6f2a9129b43168f848ee18b0f98a6f96d Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Wed, 28 Nov 2018 16:21:27 +0300 Subject: [PATCH] Fix AbstractExtractionTest for scripts It fails with 'Descriptor wasn't found for declaration SCRIPT' because PsiElement was invalidated during test because of restaring highlighting in case of new script dependencies --- .../idea/refactoring/introduce/AbstractExtractionTest.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt index 3635db73360..01828777cd7 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/AbstractExtractionTest.kt @@ -22,6 +22,7 @@ import com.intellij.ide.DataManager import com.intellij.openapi.editor.Editor import com.intellij.openapi.project.Project import com.intellij.openapi.util.io.FileUtil +import com.intellij.openapi.vfs.VfsUtil import com.intellij.psi.PsiComment import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile @@ -42,6 +43,7 @@ import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.codeInsight.CodeInsightUtils +import org.jetbrains.kotlin.idea.core.script.ScriptDependenciesManager import org.jetbrains.kotlin.idea.refactoring.checkConflictsInteractively import org.jetbrains.kotlin.idea.refactoring.chooseMembers import org.jetbrains.kotlin.idea.refactoring.introduce.extractClass.ExtractSuperInfo @@ -65,6 +67,7 @@ import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCaseBase import org.jetbrains.kotlin.idea.test.PluginTestCaseBase import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers import org.jetbrains.kotlin.lexer.KtModifierKeywordToken +import org.jetbrains.kotlin.parsing.KotlinParserDefinition import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType import org.jetbrains.kotlin.renderer.DescriptorRenderer @@ -72,7 +75,6 @@ import org.jetbrains.kotlin.test.InTextDirectivesUtils import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.util.findElementByCommentPrefix import java.io.File -import java.lang.AssertionError import java.util.* import kotlin.test.assertEquals @@ -335,6 +337,10 @@ abstract class AbstractExtractionTest : KotlinLightCodeInsightFixtureTestCase() PluginTestCaseBase.addJdk(myFixture.projectDisposable, PluginTestCaseBase::mockJdk) + if (mainFile.extension == KotlinParserDefinition.STD_SCRIPT_SUFFIX) { + ScriptDependenciesManager.updateScriptDependenciesSynchronously(VfsUtil.findFileByIoFile(mainFile, true)!!, project) + } + fixture.testDataPath = "${KotlinTestUtils.getHomeDirectory()}/${mainFile.parent}" val mainFileName = mainFile.name