diff --git a/java/java-tests/testData/actions/codeProcessor/selectedTextAndOptimizeImports_after.java b/java/java-tests/testData/actions/codeProcessor/selectedTextAndOptimizeImports_after.java new file mode 100644 index 000000000000..edb36d680a69 --- /dev/null +++ b/java/java-tests/testData/actions/codeProcessor/selectedTextAndOptimizeImports_after.java @@ -0,0 +1,14 @@ +import java.util.ArrayList; +import java.util.List; + + +public class Test { + + public static void main(String[] args) { + List list = new ArrayList(); + int a = 3; + +int b = 3; + } + +} diff --git a/java/java-tests/testData/actions/codeProcessor/selectedTextAndOptimizeImports_before.java b/java/java-tests/testData/actions/codeProcessor/selectedTextAndOptimizeImports_before.java new file mode 100644 index 000000000000..2256d473f765 --- /dev/null +++ b/java/java-tests/testData/actions/codeProcessor/selectedTextAndOptimizeImports_before.java @@ -0,0 +1,17 @@ +import java.lang.String; +import java.util.List; +import java.util.HashMap; +import java.util.ArrayList; +import java.util.HashSet; + + +public class Test { + + public static void main(String[] args) { +List list = new ArrayList(); +int a = 3; + +int b = 3; + } + +} diff --git a/java/java-tests/testData/actions/codeProcessor/vcsChangedTextReformatAndOptimize_after.java b/java/java-tests/testData/actions/codeProcessor/vcsChangedTextReformatAndOptimize_after.java new file mode 100644 index 000000000000..122700a59862 --- /dev/null +++ b/java/java-tests/testData/actions/codeProcessor/vcsChangedTextReformatAndOptimize_after.java @@ -0,0 +1,18 @@ +import java.util.ArrayList; +import java.util.List; + + +public class Test { + + public static void main(String[] args) { + List list = new ArrayList(); + int a = 3; + +int b = 3; + } + + + public void test() { + } + +} diff --git a/java/java-tests/testData/actions/codeProcessor/vcsChangedTextReformatAndOptimize_before.java b/java/java-tests/testData/actions/codeProcessor/vcsChangedTextReformatAndOptimize_before.java new file mode 100644 index 000000000000..878031804ea0 --- /dev/null +++ b/java/java-tests/testData/actions/codeProcessor/vcsChangedTextReformatAndOptimize_before.java @@ -0,0 +1,22 @@ +import java.util.HashMap; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; +import java.util.HashSet; + + +public class Test { + + public static void main(String[] args) { + List list = new ArrayList(); +int a = 3; + +int b = 3; + } + + + +public void test() { +} + +} diff --git a/java/java-tests/testData/actions/codeProcessor/wholeFileReformatAndOptimize_after.java b/java/java-tests/testData/actions/codeProcessor/wholeFileReformatAndOptimize_after.java new file mode 100644 index 000000000000..b3c340724e6b --- /dev/null +++ b/java/java-tests/testData/actions/codeProcessor/wholeFileReformatAndOptimize_after.java @@ -0,0 +1,11 @@ +import java.util.ArrayList; +import java.util.List; + + +public class Test { + + public static void main(String[] args) { + List list = new ArrayList(); + } + +} diff --git a/java/java-tests/testData/actions/codeProcessor/wholeFileReformatAndOptimize_before.java b/java/java-tests/testData/actions/codeProcessor/wholeFileReformatAndOptimize_before.java new file mode 100644 index 000000000000..a996d55202f7 --- /dev/null +++ b/java/java-tests/testData/actions/codeProcessor/wholeFileReformatAndOptimize_before.java @@ -0,0 +1,14 @@ +import java.lang.String; +import java.util.List; +import java.util.HashMap; +import java.util.ArrayList; +import java.util.HashSet; + + +public class Test { + + public static void main(String[] args) { +List list = new ArrayList(); + } + +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/actions/MultiActionCodeProcessorTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/actions/MultiActionCodeProcessorTest.java index b3ea6d35e421..f457bf794fee 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/actions/MultiActionCodeProcessorTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/actions/MultiActionCodeProcessorTest.java @@ -25,6 +25,8 @@ import com.intellij.util.containers.ContainerUtil; import java.util.List; +import static com.intellij.codeInsight.actions.TextRangeType.*; + public class MultiActionCodeProcessorTest extends LightPlatformCodeInsightFixtureTestCase { @Override @@ -47,7 +49,7 @@ public class MultiActionCodeProcessorTest extends LightPlatformCodeInsightFixtur myFixture.configureByFile(getTestDataPath() + getTestName(true) + "_before.java"); CodeProcessor processor = new CodeProcessor(myFixture.getFile(), myFixture.getEditor(), options); - if (options.getTextRangeType() == TextRangeType.VCS_CHANGED_TEXT) { + if (options.getTextRangeType() == VCS_CHANGED_TEXT) { CaretModel model = myFixture.getEditor().getCaretModel(); List ranges = ContainerUtil.mapNotNull(model.getAllCarets(), new Function() { @Override @@ -66,16 +68,26 @@ public class MultiActionCodeProcessorTest extends LightPlatformCodeInsightFixtur } public void testSelectionReformat() { - doTest(new ReformatCodeRunOptions(TextRangeType.SELECTED_TEXT)); + doTest(new ReformatCodeRunOptions(SELECTED_TEXT)); } public void testWholeFileReformat() { - doTest(new ReformatCodeRunOptions(TextRangeType.WHOLE_FILE)); + doTest(new ReformatCodeRunOptions(WHOLE_FILE)); } public void testVcsChangedTextReformat() { - doTest(new ReformatCodeRunOptions(TextRangeType.VCS_CHANGED_TEXT)); + doTest(new ReformatCodeRunOptions(VCS_CHANGED_TEXT)); } + public void testWholeFileReformatAndOptimize() { + doTest(new ReformatCodeRunOptions(WHOLE_FILE).setOptimizeImports(true)); + } + public void testSelectedTextAndOptimizeImports() { + doTest(new ReformatCodeRunOptions(SELECTED_TEXT).setOptimizeImports(true)); + } + + //public void testVcsChangedTextReformatAndOptimize() { + // doTest(new ReformatCodeRunOptions(VCS_CHANGED_TEXT).setOptimizeImports(true)); + //} } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeRunOptions.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeRunOptions.java index c1b1e23ea05b..67d20e28b735 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeRunOptions.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeRunOptions.java @@ -39,12 +39,14 @@ public class ReformatCodeRunOptions implements LayoutCodeOptions { return myRearrangeCode; } - public void setRearrangeCode(boolean rearrangeCode) { + public ReformatCodeRunOptions setRearrangeCode(boolean rearrangeCode) { myRearrangeCode = rearrangeCode; + return this; } - public void setOptimizeImports(boolean optimizeImports) { + public ReformatCodeRunOptions setOptimizeImports(boolean optimizeImports) { myOptimizeImports = optimizeImports; + return this; } @Override