From a50a56556947d26e9e2a77999b13ed049188f02c Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Tue, 24 Feb 2026 15:52:08 -0800 Subject: [PATCH] Fix #337: support pretty-printing for Ion --- .../main/java/tools/jackson/dataformat/ion/IonFactory.java | 2 +- .../tools/jackson/dataformat/ion/PrettyPrintWriteTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ion/src/main/java/tools/jackson/dataformat/ion/IonFactory.java b/ion/src/main/java/tools/jackson/dataformat/ion/IonFactory.java index eb081a753..f178beb24 100644 --- a/ion/src/main/java/tools/jackson/dataformat/ion/IonFactory.java +++ b/ion/src/main/java/tools/jackson/dataformat/ion/IonFactory.java @@ -513,7 +513,7 @@ protected IonWriter _createTextualIonWriter(ObjectWriteContext writeCtxt, // 18-Feb-2021, tatu: [dataformats-binary#245] pretty-printing. // note: Cannot really make use of Jackson PP, just rely on Ion default // (for now?) - if (writeCtxt.hasPrettyPrinter()) { + if (writeCtxt.getPrettyPrinter() != null) { return IonTextWriterBuilder.pretty().build(w); } return _system.newTextWriter(w); diff --git a/ion/src/test/java/tools/jackson/dataformat/ion/PrettyPrintWriteTest.java b/ion/src/test/java/tools/jackson/dataformat/ion/PrettyPrintWriteTest.java index 555c72de7..933b82ff7 100644 --- a/ion/src/test/java/tools/jackson/dataformat/ion/PrettyPrintWriteTest.java +++ b/ion/src/test/java/tools/jackson/dataformat/ion/PrettyPrintWriteTest.java @@ -33,8 +33,15 @@ public void testBasicPrettyPrintTextual() throws Exception .writeValueAsString(new Point()); assertEquals(EXP, ion.trim()); + mapper = mapper.rebuild() + .enable(SerializationFeature.INDENT_OUTPUT) + .build(); + ion = mapper.writeValueAsString(new Point()); + assertEquals(EXP, ion.trim()); + // But also no indentation if not requested ion = mapper.writer() + .without(SerializationFeature.INDENT_OUTPUT) .writeValueAsString(new Point()); assertEquals("{x:1,y:2}", ion.trim()); }