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.command.executeCommand
|
||||||
import com.intellij.openapi.fileTypes.LanguageFileType
|
import com.intellij.openapi.fileTypes.LanguageFileType
|
||||||
import com.intellij.psi.PsiDocumentManager
|
import com.intellij.psi.PsiDocumentManager
|
||||||
import com.intellij.refactoring.suggested.SuggestedRefactoringExecution
|
|
||||||
import com.intellij.refactoring.suggested.BaseSuggestedRefactoringTest
|
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.refactoring.suggested._suggestedChangeSignatureNewParameterValuesForTests
|
||||||
import com.intellij.testFramework.LightProjectDescriptor
|
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
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() {
|
override fun runTest() {
|
||||||
runTest { super.runTest() }
|
runTest { super.runTest() }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user