diff --git a/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java b/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java index f611d2f9..523a106a 100644 --- a/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java +++ b/src/main/java/org/apache/maven/shared/utils/xml/PrettyPrintXMLWriter.java @@ -95,7 +95,12 @@ public PrettyPrintXMLWriter(Writer writer) { * @param doctype can be null */ public PrettyPrintXMLWriter(PrintWriter writer, String lineIndent, String encoding, String doctype) { - this(writer, lineIndent.toCharArray(), "\n".toCharArray(), encoding, doctype); + this( + writer, + lineIndent != null ? lineIndent.toCharArray() : DEFAULT_LINE_INDENT, + "\n".toCharArray(), + encoding, + doctype); } /** @@ -135,7 +140,12 @@ public PrettyPrintXMLWriter(Writer writer, String encoding, String doctype) { */ public PrettyPrintXMLWriter( PrintWriter writer, String lineIndent, String lineSeparator, String encoding, String doctype) { - this(writer, lineIndent.toCharArray(), lineSeparator.toCharArray(), encoding, doctype); + this( + writer, + lineIndent != null ? lineIndent.toCharArray() : DEFAULT_LINE_INDENT, + lineSeparator != null ? lineSeparator.toCharArray() : "\n".toCharArray(), + encoding, + doctype); } /** diff --git a/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java b/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java index ee210cb0..5ee265f5 100644 --- a/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java +++ b/src/test/java/org/apache/maven/shared/utils/xml/PrettyPrintXmlWriterTest.java @@ -93,6 +93,19 @@ public void testPrettyPrintXMLWriterWithGivenLineIndenter() throws IOException { assertEquals(expectedResult(" "), w.toString()); } + @Test + public void testPrettyPrintXMLWriterWithNullLineIndent() throws IOException { + StringWriter sw = new StringWriter(); + PrettyPrintXMLWriter writer = new PrettyPrintXMLWriter(sw, (String) null); + + writer.startElement(HTML.Tag.HTML.toString()); + writeXhtmlHead(writer); + writeXhtmlBody(writer); + writer.endElement(); // Tag.HTML + + assertEquals(expectedResult(), sw.toString()); + } + @Test public void testEscapeXmlAttributeWindows() throws IOException { // Windows