From a21163b8c4a57f6018a2f4fb66913d488d7a732b Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 20 Feb 2015 16:36:29 +0300 Subject: [PATCH] Change Signature: Add test for KT-4013 "'Change signature' does not add necessary imports" #KT-4013 Fixed --- .../addParameterWithImport.after.data.Sample.kt | 5 +++++ .../changeSignature/addParameterWithImport.after.kt | 11 +++++++++++ .../addParameterWithImport.before.Main.kt | 11 +++++++++++ .../addParameterWithImport.before.data.Sample.kt | 3 +++ .../idea/quickfix/QuickFixMultiFileTestGenerated.java | 6 ++++++ 5 files changed, 36 insertions(+) create mode 100644 idea/testData/quickfix/changeSignature/addParameterWithImport.after.data.Sample.kt create mode 100644 idea/testData/quickfix/changeSignature/addParameterWithImport.after.kt create mode 100644 idea/testData/quickfix/changeSignature/addParameterWithImport.before.Main.kt create mode 100644 idea/testData/quickfix/changeSignature/addParameterWithImport.before.data.Sample.kt diff --git a/idea/testData/quickfix/changeSignature/addParameterWithImport.after.data.Sample.kt b/idea/testData/quickfix/changeSignature/addParameterWithImport.after.data.Sample.kt new file mode 100644 index 00000000000..cff5eb41943 --- /dev/null +++ b/idea/testData/quickfix/changeSignature/addParameterWithImport.after.data.Sample.kt @@ -0,0 +1,5 @@ +package b + +import a.Bar + +fun foo(bar: Bar) {} \ No newline at end of file diff --git a/idea/testData/quickfix/changeSignature/addParameterWithImport.after.kt b/idea/testData/quickfix/changeSignature/addParameterWithImport.after.kt new file mode 100644 index 00000000000..d2d07a0fe6e --- /dev/null +++ b/idea/testData/quickfix/changeSignature/addParameterWithImport.after.kt @@ -0,0 +1,11 @@ +// "Add parameter to function 'foo'" "true" +// ERROR: Too many arguments for internal fun foo(): kotlin.Unit defined in b +package a + +import b.foo + +class Bar + +fun test() { + foo(Bar()) +} \ No newline at end of file diff --git a/idea/testData/quickfix/changeSignature/addParameterWithImport.before.Main.kt b/idea/testData/quickfix/changeSignature/addParameterWithImport.before.Main.kt new file mode 100644 index 00000000000..35dde624b32 --- /dev/null +++ b/idea/testData/quickfix/changeSignature/addParameterWithImport.before.Main.kt @@ -0,0 +1,11 @@ +// "Add parameter to function 'foo'" "true" +// ERROR: Too many arguments for internal fun foo(): kotlin.Unit defined in b +package a + +import b.foo + +class Bar + +fun test() { + foo(Bar()) +} \ No newline at end of file diff --git a/idea/testData/quickfix/changeSignature/addParameterWithImport.before.data.Sample.kt b/idea/testData/quickfix/changeSignature/addParameterWithImport.before.data.Sample.kt new file mode 100644 index 00000000000..513e6204cab --- /dev/null +++ b/idea/testData/quickfix/changeSignature/addParameterWithImport.before.data.Sample.kt @@ -0,0 +1,3 @@ +package b + +fun foo() {} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java index ea4b904a258..a801360f42d 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java @@ -253,6 +253,12 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) public static class ChangeSignature extends AbstractQuickFixMultiFileTest { + @TestMetadata("addParameterWithImport.before.Main.kt") + public void testAddParameterWithImport() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/changeSignature/addParameterWithImport.before.Main.kt"); + doTestWithExtraFile(fileName); + } + public void testAllFilesPresentInChangeSignature() throws Exception { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/changeSignature"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true); }