diff --git a/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters1.kt b/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments1.kt similarity index 100% rename from idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters1.kt rename to idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments1.kt diff --git a/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters2.kt b/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments2.kt similarity index 100% rename from idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters2.kt rename to idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments2.kt diff --git a/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters3.kt b/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments3.kt similarity index 100% rename from idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters3.kt rename to idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments3.kt diff --git a/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters4.kt b/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments4.kt similarity index 100% rename from idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters4.kt rename to idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments4.kt diff --git a/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArgumentsOnTyping.kt b/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArgumentsOnTyping.kt new file mode 100644 index 00000000000..c1f7c7cba3d --- /dev/null +++ b/idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArgumentsOnTyping.kt @@ -0,0 +1,11 @@ +fun f(t1: T, t2: T){} + +fun test() { + f() +} + +// TYPE: "1" + +/* +Text: (t1: Int, t2: Int), Disabled: false, Strikeout: false, Green: true +*/ diff --git a/idea/testData/parameterInfo/functionParameterInfo/UpdateOnTyping.kt b/idea/testData/parameterInfo/functionParameterInfo/UpdateOnTyping.kt new file mode 100644 index 00000000000..c52db600b67 --- /dev/null +++ b/idea/testData/parameterInfo/functionParameterInfo/UpdateOnTyping.kt @@ -0,0 +1,9 @@ +fun fff(p: String, c: Char) {} + +fun foo() { + fff() +} + +// TYPE: "1, " + +//Text: (p: String, c: Char), Disabled: true, Strikeout: false, Green: true \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/AbstractFunctionParameterInfoTest.kt b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/AbstractFunctionParameterInfoTest.kt index 4775bee8d23..ee9b745108b 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/AbstractFunctionParameterInfoTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/AbstractFunctionParameterInfoTest.kt @@ -16,14 +16,17 @@ package org.jetbrains.kotlin.idea.parameterInfo +import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiWhiteSpace import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.idea.test.JetWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.idea.test.PluginTestCaseBase +import org.jetbrains.kotlin.idea.util.application.executeWriteCommand import org.jetbrains.kotlin.lexer.JetTokens import org.jetbrains.kotlin.psi.JetFile import org.jetbrains.kotlin.psi.psiUtil.allChildren +import org.jetbrains.kotlin.test.InTextDirectivesUtils import org.junit.Assert abstract class AbstractFunctionParameterInfoTest : LightCodeInsightFixtureTestCase() { @@ -50,9 +53,19 @@ abstract class AbstractFunctionParameterInfoTest : LightCodeInsightFixtureTestCa val mockCreateParameterInfoContext = MockCreateParameterInfoContext(file, myFixture) val parameterOwner = parameterInfoHandler.findElementForParameterInfo(mockCreateParameterInfoContext) - val updateContext = MockUpdateParameterInfoContext(file, myFixture) + val textToType = InTextDirectivesUtils.findStringWithPrefixes(file.text, "// TYPE:") + if (textToType != null) { + project.executeWriteCommand("") { + val caretModel = myFixture.editor.caretModel + val offset = caretModel.offset + myFixture.getDocument(file).insertString(offset, textToType) + caretModel.moveToOffset(offset + textToType.length()) + } + PsiDocumentManager.getInstance(project).commitAllDocuments() + } //to update current parameter index + val updateContext = MockUpdateParameterInfoContext(file, myFixture) val elementForUpdating = parameterInfoHandler.findElementForUpdatingParameterInfo(updateContext) if (elementForUpdating != null) { parameterInfoHandler.updateParameterInfo(elementForUpdating, updateContext) diff --git a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/FunctionParameterInfoTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/FunctionParameterInfoTestGenerated.java index 37de93c30a2..11d47d8e380 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/FunctionParameterInfoTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/FunctionParameterInfoTestGenerated.java @@ -149,27 +149,33 @@ public class FunctionParameterInfoTestGenerated extends AbstractFunctionParamete doTest(fileName); } - @TestMetadata("SubstituteFromParameters1.kt") - public void testSubstituteFromParameters1() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters1.kt"); + @TestMetadata("SubstituteFromArguments1.kt") + public void testSubstituteFromArguments1() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments1.kt"); doTest(fileName); } - @TestMetadata("SubstituteFromParameters2.kt") - public void testSubstituteFromParameters2() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters2.kt"); + @TestMetadata("SubstituteFromArguments2.kt") + public void testSubstituteFromArguments2() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments2.kt"); doTest(fileName); } - @TestMetadata("SubstituteFromParameters3.kt") - public void testSubstituteFromParameters3() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters3.kt"); + @TestMetadata("SubstituteFromArguments3.kt") + public void testSubstituteFromArguments3() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments3.kt"); doTest(fileName); } - @TestMetadata("SubstituteFromParameters4.kt") - public void testSubstituteFromParameters4() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromParameters4.kt"); + @TestMetadata("SubstituteFromArguments4.kt") + public void testSubstituteFromArguments4() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArguments4.kt"); + doTest(fileName); + } + + @TestMetadata("SubstituteFromArgumentsOnTyping.kt") + public void testSubstituteFromArgumentsOnTyping() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/SubstituteFromArgumentsOnTyping.kt"); doTest(fileName); } @@ -190,4 +196,10 @@ public class FunctionParameterInfoTestGenerated extends AbstractFunctionParamete String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/TwoFunctionsGrey.kt"); doTest(fileName); } + + @TestMetadata("UpdateOnTyping.kt") + public void testUpdateOnTyping() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionParameterInfo/UpdateOnTyping.kt"); + doTest(fileName); + } }