diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/StringBufferReplaceableByStringInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/StringBufferReplaceableByStringInspection.java index db90214433e8..589d8d8b50d1 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/StringBufferReplaceableByStringInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/style/StringBufferReplaceableByStringInspection.java @@ -209,7 +209,7 @@ public class StringBufferReplaceableByStringInspection extends BaseInspection { } if (element instanceof PsiWhiteSpace) { - if (element.getText().contains("\n")) { + if (element.getText().contains("\n") && result.length() > 0) { result.append('\n'); // keep line break structure } } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/replace_with_string/Linebreaks.after.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/replace_with_string/Linebreaks.after.java new file mode 100644 index 000000000000..748f16c6b43d --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/replace_with_string/Linebreaks.after.java @@ -0,0 +1,9 @@ +class Linebreaks { + + void m(String code) { + String controlDigit = String.valueOf(code.charAt(5)) + + code.charAt(7) + + code.charAt(9) + + code.charAt(11); + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/replace_with_string/Linebreaks.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/replace_with_string/Linebreaks.java new file mode 100644 index 000000000000..29bc796680e8 --- /dev/null +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/style/replace_with_string/Linebreaks.java @@ -0,0 +1,10 @@ +class Linebreaks { + + void m(String code) { + String controlDigit = new StringBuilder() + .append(code.charAt(5)) + .append(code.charAt(7)) + .append(code.charAt(9)) + .append(code.charAt(11)).toString(); + } +} \ No newline at end of file diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/StringBufferReplaceableByStringFixTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/StringBufferReplaceableByStringFixTest.java index bf5ffba39ae1..7ce51e5e5860 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/StringBufferReplaceableByStringFixTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/fixes/style/StringBufferReplaceableByStringFixTest.java @@ -35,4 +35,5 @@ public class StringBufferReplaceableByStringFixTest extends IGQuickFixesTestCase public void testMethodCallOnString() { doTest(InspectionGadgetsBundle.message("string.builder.replaceable.by.string.quickfix")); } public void testComplex1() { doTest(InspectionGadgetsBundle.message("string.builder.replaceable.by.string.quickfix")); } public void testComplex2() { doTest(InspectionGadgetsBundle.message("string.builder.replaceable.by.string.quickfix")); } + public void testLinebreaks() { doTest(InspectionGadgetsBundle.message("string.builder.replaceable.by.string.quickfix")); } }