diff --git a/java/java-tests/testSrc/com/intellij/psi/formatter/JavaFormatterTest.java b/java/java-tests/testSrc/com/intellij/psi/formatter/JavaFormatterTest.java index 170bee46703c..e92029d04377 100644 --- a/java/java-tests/testSrc/com/intellij/psi/formatter/JavaFormatterTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/formatter/JavaFormatterTest.java @@ -2,7 +2,6 @@ package com.intellij.psi.formatter; import com.intellij.JavaTestUtil; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.application.ex.PathManagerEx; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.EditorFactory; @@ -35,7 +34,6 @@ public class JavaFormatterTest extends LightIdeaTestCase { doTest("SCR915.java", "SCR915_after.java"); } - public void testForEach() throws Exception { doTest("ForEach.java", "ForEach_after.java"); } @@ -208,6 +206,35 @@ public class JavaFormatterTest extends LightIdeaTestCase { doTest(); } + public void testNestedMethodsIndentation() throws Exception { + // Inspired by IDEA-43962 + + getSettings().getIndentOptions(StdFileTypes.JAVA).CONTINUATION_INDENT_SIZE = 4; + + doMethodTest( + "BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + ".add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE)))))))));", + "BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE\n" + + " .add(BigDecimal.ONE)))))))));" + ); + } + public void testSwitch() throws Exception { doTest(); } @@ -2893,22 +2920,26 @@ public class JavaFormatterTest extends LightIdeaTestCase { getSettings().ARRAY_INITIALIZER_WRAP = CodeStyleSettings.WRAP_ALWAYS; getSettings().ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE = true; getSettings().ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE = true; - doTextTest("public @interface Ann\n" + + doTextTest( + "public @interface Ann\n" + "{\n" + "int[] x = { 1, 2 };\n" + "\n" + "Mode[] modes () default { @Mode(value = 1), @Mode(value = 2) };\n" + - "}", "public @interface Ann {\n" + - " int[] x = {\n" + - " 1,\n" + - " 2\n" + - " };\n" + - "\n" + - " Mode[] modes() default {\n" + - " @Mode(value = 1),\n" + - " @Mode(value = 2)\n" + - " };\n" + - "}"); + "}", + + "public @interface Ann {\n" + + " int[] x = {\n" + + " 1,\n" + + " 2\n" + + " };\n" + + "\n" + + " Mode[] modes() default {\n" + + " @Mode(value = 1),\n" + + " @Mode(value = 2)\n" + + " };\n" + + "}" + ); } private void doMethodTest(final String before, final String after) throws Exception {