From 61d78e088037c74b0629b28de641197f7564f1c6 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 25 Sep 2015 19:14:18 +0200 Subject: [PATCH] tests for "Add 'const' modifier" --- .../kotlin/idea/quickfix/AddConstModifierFix.kt | 3 ++- .../intentions/addConstModifier/simple.kt | 1 + .../intentions/addConstModifier/simple.kt.after | 1 + .../modifiers/constVal.after.data.JavaClient.java | 8 ++++++++ .../{constVal.kt.after => constVal.after.kt} | 2 ++ .../{constVal.kt => constVal.before.Main.kt} | 2 ++ .../constVal.before.data.JavaClient.java | 8 ++++++++ .../idea/intentions/IntentionTestGenerated.java | 15 +++++++++++++++ .../quickfix/QuickFixMultiFileTestGenerated.java | 6 ++++++ .../idea/quickfix/QuickFixTestGenerated.java | 6 ------ 10 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 idea/testData/intentions/addConstModifier/simple.kt create mode 100644 idea/testData/intentions/addConstModifier/simple.kt.after create mode 100644 idea/testData/quickfix/modifiers/constVal.after.data.JavaClient.java rename idea/testData/quickfix/modifiers/{constVal.kt.after => constVal.after.kt} (86%) rename idea/testData/quickfix/modifiers/{constVal.kt => constVal.before.Main.kt} (85%) create mode 100644 idea/testData/quickfix/modifiers/constVal.before.data.JavaClient.java diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddConstModifierFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddConstModifierFix.kt index 261aa56f203..059049d3a50 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddConstModifierFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddConstModifierFix.kt @@ -82,7 +82,8 @@ public class AddConstModifierIntention : JetSelfTargetingIntention( } override fun isApplicableTo(element: JetProperty, caretOffset: Int): Boolean { - if (element.isVar || element.hasDelegate() || element.initializer == null || element.getter?.hasBody() == true) { + if (element.isLocal || element.isVar || element.hasDelegate() || element.initializer == null || element.getter?.hasBody() == true || + element.receiverTypeReference != null) { return false } val propertyDescriptor = element.descriptor as? VariableDescriptor ?: return false diff --git a/idea/testData/intentions/addConstModifier/simple.kt b/idea/testData/intentions/addConstModifier/simple.kt new file mode 100644 index 00000000000..1650821e95c --- /dev/null +++ b/idea/testData/intentions/addConstModifier/simple.kt @@ -0,0 +1 @@ +val a = 1 \ No newline at end of file diff --git a/idea/testData/intentions/addConstModifier/simple.kt.after b/idea/testData/intentions/addConstModifier/simple.kt.after new file mode 100644 index 00000000000..4217407180c --- /dev/null +++ b/idea/testData/intentions/addConstModifier/simple.kt.after @@ -0,0 +1 @@ +const val a = 1 \ No newline at end of file diff --git a/idea/testData/quickfix/modifiers/constVal.after.data.JavaClient.java b/idea/testData/quickfix/modifiers/constVal.after.data.JavaClient.java new file mode 100644 index 00000000000..83b256b9641 --- /dev/null +++ b/idea/testData/quickfix/modifiers/constVal.after.data.JavaClient.java @@ -0,0 +1,8 @@ +import constVal.ConstVal_before_MainKt; + +class JavaClient { + int foo() { + return ConstVal_before_MainKt.i; + } +} + diff --git a/idea/testData/quickfix/modifiers/constVal.kt.after b/idea/testData/quickfix/modifiers/constVal.after.kt similarity index 86% rename from idea/testData/quickfix/modifiers/constVal.kt.after rename to idea/testData/quickfix/modifiers/constVal.after.kt index 2c1df035f46..6aaae6e6124 100644 --- a/idea/testData/quickfix/modifiers/constVal.kt.after +++ b/idea/testData/quickfix/modifiers/constVal.after.kt @@ -1,4 +1,6 @@ // "Add 'const' modifier" "true" +package constVal + const val i = 1 annotation class Fancy(val param: Int) diff --git a/idea/testData/quickfix/modifiers/constVal.kt b/idea/testData/quickfix/modifiers/constVal.before.Main.kt similarity index 85% rename from idea/testData/quickfix/modifiers/constVal.kt rename to idea/testData/quickfix/modifiers/constVal.before.Main.kt index eb272f68d64..56bfdabe8b7 100644 --- a/idea/testData/quickfix/modifiers/constVal.kt +++ b/idea/testData/quickfix/modifiers/constVal.before.Main.kt @@ -1,4 +1,6 @@ // "Add 'const' modifier" "true" +package constVal + val i = 1 annotation class Fancy(val param: Int) diff --git a/idea/testData/quickfix/modifiers/constVal.before.data.JavaClient.java b/idea/testData/quickfix/modifiers/constVal.before.data.JavaClient.java new file mode 100644 index 00000000000..1f66f5be3b8 --- /dev/null +++ b/idea/testData/quickfix/modifiers/constVal.before.data.JavaClient.java @@ -0,0 +1,8 @@ +import constVal.ConstVal_before_MainKt; + +class JavaClient { + int foo() { + return ConstVal_before_MainKt.getI(); + } +} + diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index 9c301c830a9..69f5ca6e2ec 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -92,6 +92,21 @@ public class IntentionTestGenerated extends AbstractIntentionTest { } } + @TestMetadata("idea/testData/intentions/addConstModifier") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class AddConstModifier extends AbstractIntentionTest { + public void testAllFilesPresentInAddConstModifier() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/intentions/addConstModifier"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true); + } + + @TestMetadata("simple.kt") + public void testSimple() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/intentions/addConstModifier/simple.kt"); + doTest(fileName); + } + } + @TestMetadata("idea/testData/intentions/addForLoopIndices") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java index 09151a4961d..02b86a53466 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java @@ -1160,6 +1160,12 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true); } + @TestMetadata("constVal.before.Main.kt") + public void testConstVal() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/constVal.before.Main.kt"); + doTestWithExtraFile(fileName); + } + @TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java index d9689356325..a58b13ce1e7 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixTestGenerated.java @@ -4223,12 +4223,6 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest { doTest(fileName); } - @TestMetadata("constVal.kt") - public void testConstVal() throws Exception { - String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/constVal.kt"); - doTest(fileName); - } - @TestMetadata("finalTrait.kt") public void testFinalTrait() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/modifiers/finalTrait.kt");