mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-43962 Indentation error on deep nesting levels
1. Test is added; 2. Minor code reformatting;
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user