diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/innerWhenTransformed.kt b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/innerWhenTransformed.kt new file mode 100644 index 00000000000..d3f6b00fa62 --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/innerWhenTransformed.kt @@ -0,0 +1,21 @@ +fun test(n: Int): String { + var res: String + + if (3 > 2) { + res = when(n) { + 1 -> { + println("***") + "one" + } + else -> { + println("***") + "two" + } + } + } else { + println("***") + res = "???" + } + + return res +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/innerWhenTransformed.kt.after b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/innerWhenTransformed.kt.after new file mode 100644 index 00000000000..c1784696fd1 --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/innerWhenTransformed.kt.after @@ -0,0 +1,21 @@ +fun test(n: Int): String { + var res: String + + if (3 > 2) { + when(n) { + 1 -> { + println("***") + res = "one" + } + else -> { + println("***") + res = "two" + } + } + } else { + println("***") + res = "???" + } + + return res +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhen.kt b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhen.kt new file mode 100644 index 00000000000..c961e534ccc --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhen.kt @@ -0,0 +1,10 @@ +fun test(n: Int): String { + var res: String + + res = when(n) { + 1 -> "one" + else -> "two" + } + + return res +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhen.kt.after b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhen.kt.after new file mode 100644 index 00000000000..bf7f1257945 --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhen.kt.after @@ -0,0 +1,10 @@ +fun test(n: Int): String { + var res: String + + when(n) { + 1 -> res = "one" + else -> res = "two" + } + + return res +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhenWithBlocks.kt b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhenWithBlocks.kt new file mode 100644 index 00000000000..237433b09f3 --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhenWithBlocks.kt @@ -0,0 +1,16 @@ +fun test(n: Int): String { + var res: String + + res = when (n) { + 1 -> { + println("***") + "one" + } + else -> { + println("***") + "two" + } + } + + return res +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhenWithBlocks.kt.after b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhenWithBlocks.kt.after new file mode 100644 index 00000000000..d3e4325d5de --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhenWithBlocks.kt.after @@ -0,0 +1,16 @@ +fun test(n: Int): String { + var res: String + + when (n) { + 1 -> { + println("***") + res = "one" + } + else -> { + println("***") + res = "two" + } + } + + return res +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/innerWhenTransformed.kt b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/innerWhenTransformed.kt new file mode 100644 index 00000000000..cec7664dbfa --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/innerWhenTransformed.kt @@ -0,0 +1,11 @@ +fun test(n: Int): String { + if (3 > 2) { + return when (n) { + 1 -> "one" + else -> "two" + } + } else { + println("***") + return "???" + } +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/innerWhenTransformed.kt.after b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/innerWhenTransformed.kt.after new file mode 100644 index 00000000000..0a5a8764560 --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/innerWhenTransformed.kt.after @@ -0,0 +1,11 @@ +fun test(n: Int): String { + if (3 > 2) { + when (n) { + 1 -> return "one" + else -> return "two" + } + } else { + println("***") + return "???" + } +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhen.kt b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhen.kt new file mode 100644 index 00000000000..83a1dee18ec --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhen.kt @@ -0,0 +1,6 @@ +fun test(n: Int): String { + return when (n) { + 1 -> "one" + else -> "two" + } +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhen.kt.after b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhen.kt.after new file mode 100644 index 00000000000..09add4b1e81 --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhen.kt.after @@ -0,0 +1,6 @@ +fun test(n: Int): String { + when (n) { + 1 -> return "one" + else -> return "two" + } +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhenWithBlocks.kt b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhenWithBlocks.kt new file mode 100644 index 00000000000..5565cdc2ecd --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhenWithBlocks.kt @@ -0,0 +1,11 @@ +fun test(n: Int): String { + return when(n) { + 1 -> { + println("***") + "one" + } + else -> { + println("***") + "two" + } +} \ No newline at end of file diff --git a/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhenWithBlocks.kt.after b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhenWithBlocks.kt.after new file mode 100644 index 00000000000..1c9b980257f --- /dev/null +++ b/idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhenWithBlocks.kt.after @@ -0,0 +1,11 @@ +fun test(n: Int): String { + when(n) { + 1 -> { + println("***") + return "one" + } + else -> { + println("***") + return "two" + } +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/AbstractCodeTransformationTest.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/AbstractCodeTransformationTest.java index 4d7e40e9de1..690abe64d19 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/AbstractCodeTransformationTest.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/AbstractCodeTransformationTest.java @@ -59,7 +59,7 @@ public abstract class AbstractCodeTransformationTest extends LightCodeInsightTes } public void doTestUnfoldReturnToWhen(@NotNull String path) throws Exception { - doTest(path, new UnfoldAssignmentToIfIntention()); + doTest(path, new UnfoldReturnToWhenIntention()); } public void doTestRemoveUnnecessaryParentheses(@NotNull String path) throws Exception { diff --git a/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/CodeTransformationsTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/CodeTransformationsTestGenerated.java index 7313beab78e..4ec4671eee3 100644 --- a/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/CodeTransformationsTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/codeInsight/codeTransformations/CodeTransformationsTestGenerated.java @@ -30,7 +30,7 @@ import org.jetbrains.jet.plugin.codeInsight.codeTransformations.AbstractCodeTran /** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") -@InnerTestClasses({CodeTransformationsTestGenerated.IfToAssignment.class, CodeTransformationsTestGenerated.IfToReturn.class, CodeTransformationsTestGenerated.IfToReturnAsymmetrically.class, CodeTransformationsTestGenerated.WhenToAssignment.class, CodeTransformationsTestGenerated.WhenToReturn.class, CodeTransformationsTestGenerated.AssignmentToIf.class, CodeTransformationsTestGenerated.ReturnToIf.class}) +@InnerTestClasses({CodeTransformationsTestGenerated.IfToAssignment.class, CodeTransformationsTestGenerated.IfToReturn.class, CodeTransformationsTestGenerated.IfToReturnAsymmetrically.class, CodeTransformationsTestGenerated.WhenToAssignment.class, CodeTransformationsTestGenerated.WhenToReturn.class, CodeTransformationsTestGenerated.AssignmentToIf.class, CodeTransformationsTestGenerated.AssignmentToWhen.class, CodeTransformationsTestGenerated.ReturnToIf.class, CodeTransformationsTestGenerated.ReturnToWhen.class}) public class CodeTransformationsTestGenerated extends AbstractCodeTransformationTest { @TestMetadata("idea/testData/codeInsight/codeTransformations/branched/folding/ifToAssignment") public static class IfToAssignment extends AbstractCodeTransformationTest { @@ -230,6 +230,29 @@ public class CodeTransformationsTestGenerated extends AbstractCodeTransformation } + @TestMetadata("idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen") + public static class AssignmentToWhen extends AbstractCodeTransformationTest { + public void testAllFilesPresentInAssignmentToWhen() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("innerWhenTransformed.kt") + public void testInnerWhenTransformed() throws Exception { + doTestUnfoldAssignmentToWhen("idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/innerWhenTransformed.kt"); + } + + @TestMetadata("simpleWhen.kt") + public void testSimpleWhen() throws Exception { + doTestUnfoldAssignmentToWhen("idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhen.kt"); + } + + @TestMetadata("simpleWhenWithBlocks.kt") + public void testSimpleWhenWithBlocks() throws Exception { + doTestUnfoldAssignmentToWhen("idea/testData/codeInsight/codeTransformations/branched/unfolding/assignmentToWhen/simpleWhenWithBlocks.kt"); + } + + } + @TestMetadata("idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToIf") public static class ReturnToIf extends AbstractCodeTransformationTest { public void testAllFilesPresentInReturnToIf() throws Exception { @@ -253,6 +276,29 @@ public class CodeTransformationsTestGenerated extends AbstractCodeTransformation } + @TestMetadata("idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen") + public static class ReturnToWhen extends AbstractCodeTransformationTest { + public void testAllFilesPresentInReturnToWhen() throws Exception { + JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("innerWhenTransformed.kt") + public void testInnerWhenTransformed() throws Exception { + doTestUnfoldReturnToWhen("idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/innerWhenTransformed.kt"); + } + + @TestMetadata("simpleWhen.kt") + public void testSimpleWhen() throws Exception { + doTestUnfoldReturnToWhen("idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhen.kt"); + } + + @TestMetadata("simpleWhenWithBlocks.kt") + public void testSimpleWhenWithBlocks() throws Exception { + doTestUnfoldReturnToWhen("idea/testData/codeInsight/codeTransformations/branched/unfolding/returnToWhen/simpleWhenWithBlocks.kt"); + } + + } + public static Test suite() { TestSuite suite = new TestSuite("CodeTransformationsTestGenerated"); suite.addTestSuite(IfToAssignment.class); @@ -261,7 +307,9 @@ public class CodeTransformationsTestGenerated extends AbstractCodeTransformation suite.addTestSuite(WhenToAssignment.class); suite.addTestSuite(WhenToReturn.class); suite.addTestSuite(AssignmentToIf.class); + suite.addTestSuite(AssignmentToWhen.class); suite.addTestSuite(ReturnToIf.class); + suite.addTestSuite(ReturnToWhen.class); return suite; } }