Added test for new parameter value referencing another parameter
This commit is contained in:
+32
-2
@@ -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<caret>) {
|
||||
}
|
||||
|
||||
fun bar() {
|
||||
foo(1)
|
||||
foo(2)
|
||||
}
|
||||
""".trimIndent(),
|
||||
"""
|
||||
fun foo(p1: Int, p2: Int<caret>) {
|
||||
}
|
||||
|
||||
fun bar() {
|
||||
foo(1, 1 * 1)
|
||||
foo(2, 2 * 2)
|
||||
}
|
||||
""".trimIndent(),
|
||||
"usages",
|
||||
{ myFixture.type(", p2: Int") }
|
||||
)
|
||||
}
|
||||
|
||||
override fun runTest() {
|
||||
runTest { super.runTest() }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user