From 2a9a6300ef2817d606b81372a8bf59d0f883935a Mon Sep 17 00:00:00 2001 From: JFronny Date: Sat, 20 Apr 2024 15:55:02 +0200 Subject: [PATCH] feat(serialize-xml): port formatting tests --- .../xml/test/NativeXmlWriterTest.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/commons-serialize-xml/src/test/java/io/gitlab/jfronny/commons/serialize/xml/test/NativeXmlWriterTest.java b/commons-serialize-xml/src/test/java/io/gitlab/jfronny/commons/serialize/xml/test/NativeXmlWriterTest.java index de8f971..6982425 100644 --- a/commons-serialize-xml/src/test/java/io/gitlab/jfronny/commons/serialize/xml/test/NativeXmlWriterTest.java +++ b/commons-serialize-xml/src/test/java/io/gitlab/jfronny/commons/serialize/xml/test/NativeXmlWriterTest.java @@ -365,4 +365,62 @@ public final class NativeXmlWriterTest { writer.close(); writer.close(); } + + @Test + public void testSetGetFormattingStyle() throws IOException { + String lineSeparator = "\r\n"; + + StringWriter stringWriter = new StringWriter(); + NativeXmlWriter jsonWriter = new NativeXmlWriter(stringWriter); + // Default should be FormattingStyle.COMPACT + jsonWriter.setIndent(" \t ").setNewline(lineSeparator); + + jsonWriter.beginTag("tag"); + jsonWriter.text("true"); + jsonWriter.text("text"); + jsonWriter.text("5.0"); + jsonWriter.text(null); + jsonWriter.endTag(); + + String expected = """ + \r + \t true\r + \t \r + \t text\r + \t \r + \t 5.0\r + \t \r + \t null\r + """; + assertThat(stringWriter.toString()).isEqualTo(expected); + + assertThat(jsonWriter.getNewline()).isEqualTo(lineSeparator); + } + + @Test + public void testIndentOverwritesFormattingStyle() throws IOException { + StringWriter stringWriter = new StringWriter(); + NativeXmlWriter jsonWriter = new NativeXmlWriter(stringWriter); + // Should overwrite formatting style + jsonWriter.setIndent(" "); + + jsonWriter.beginTag("tag"); + jsonWriter.attributeName("a"); + jsonWriter.attributeValue("b"); + jsonWriter.beginTag("tag"); + jsonWriter.text("1"); + jsonWriter.text("2"); + jsonWriter.endTag(); + jsonWriter.endTag(); + + String expected = """ + + + 1 + + 2 + + """; + assertThat(stringWriter.toString()).isEqualTo(expected); + } }