From c76571413b78349712c36eff0e1432241eb0eeb2 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Thu, 26 Mar 2020 19:36:58 +0200 Subject: [PATCH] Added test for new parameter value referencing another parameter --- .../KotlinSuggestedRefactoringTest.kt.201 | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringTest.kt.201 b/idea/tests/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringTest.kt.201 index 439f68f25cc..a0693109115 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringTest.kt.201 +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/suggested/KotlinSuggestedRefactoringTest.kt.201 @@ -10,10 +10,10 @@ import com.intellij.openapi.application.runWriteAction import com.intellij.openapi.command.executeCommand import com.intellij.openapi.fileTypes.LanguageFileType import com.intellij.psi.PsiDocumentManager -import com.intellij.refactoring.suggested.SuggestedRefactoringExecution import com.intellij.refactoring.suggested.BaseSuggestedRefactoringTest +import com.intellij.refactoring.suggested.SuggestedRefactoringExecution +import com.intellij.refactoring.suggested.SuggestedRefactoringProviderImpl import com.intellij.refactoring.suggested._suggestedChangeSignatureNewParameterValuesForTests -import com.intellij.testFramework.LightProjectDescriptor import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.psi.KtFile @@ -1544,6 +1544,36 @@ class KotlinSuggestedRefactoringTest : BaseSuggestedRefactoringTest() { ) } + fun testNewParameterValueReferencesAnotherParameter() { + _suggestedChangeSignatureNewParameterValuesForTests = { + val declaration = SuggestedRefactoringProviderImpl.getInstance(project).state!!.declaration + val codeFragment = KtPsiFactory(project).createExpressionCodeFragment("p1 * p1", declaration) + SuggestedRefactoringExecution.NewParameterValue.Expression(codeFragment.getContentElement()!!) + } + doTestChangeSignature( + """ + fun foo(p1: Int) { + } + + fun bar() { + foo(1) + foo(2) + } + """.trimIndent(), + """ + fun foo(p1: Int, p2: Int) { + } + + fun bar() { + foo(1, 1 * 1) + foo(2, 2 * 2) + } + """.trimIndent(), + "usages", + { myFixture.type(", p2: Int") } + ) + } + override fun runTest() { runTest { super.runTest() } }