diff --git a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java index c6599b07b0b..bcec8cd6725 100644 --- a/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java +++ b/idea/src/org/jetbrains/kotlin/idea/run/JetRunConfiguration.java @@ -40,6 +40,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; +import com.intellij.psi.PsiPackage; import com.intellij.refactoring.listeners.RefactoringElementAdapter; import com.intellij.refactoring.listeners.RefactoringElementListener; import kotlin.KotlinPackage; @@ -246,9 +247,16 @@ public class JetRunConfiguration extends ModuleBasedConfiguration) { + } +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/run/RunConfigurationTest.kt b/idea/tests/org/jetbrains/kotlin/idea/run/RunConfigurationTest.kt index 4cf597846c3..506285369f9 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/run/RunConfigurationTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/run/RunConfigurationTest.kt @@ -33,10 +33,7 @@ import com.intellij.openapi.module.Module import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.roots.ModuleRootModificationUtil import com.intellij.openapi.vfs.VirtualFile -import com.intellij.psi.PsiComment -import com.intellij.psi.PsiDocumentManager -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiManager +import com.intellij.psi.* import com.intellij.refactoring.RefactoringFactory import com.intellij.testFramework.MapDataContext import com.intellij.testFramework.PlatformTestCase @@ -116,6 +113,19 @@ class RunConfigurationTest: CodeInsightTestCase() { Assert.assertEquals("renameTest.Bar", runConfiguration.MAIN_CLASS_NAME) } + fun testUpdateOnPackageRename() { + val createModuleResult = configureModule(moduleDirPath("module"), getTestProject().getBaseDir()!!) + ConfigLibraryUtil.configureKotlinRuntimeAndSdk(createModuleResult.module, PluginTestCaseBase.mockJdk()) + + val runConfiguration = createConfigurationFromObject("renameTest.Foo", save = true) + + val pkg = JavaPsiFacade.getInstance(getTestProject()).findPackage("renameTest") + val rename = RefactoringFactory.getInstance(getTestProject()).createRename(pkg, "afterRenameTest") + rename.run() + + Assert.assertEquals("afterRenameTest.Foo", runConfiguration.MAIN_CLASS_NAME) + } + private fun doTest(configureRuntime: (Module, Sdk) -> Unit) { val baseDir = getTestProject().getBaseDir()!! val createModuleResult = configureModule(moduleDirPath("module"), baseDir)