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()); }