diff --git a/src/core/writer.js b/src/core/writer.js index c79a06dbd..54a476d6f 100644 --- a/src/core/writer.js +++ b/src/core/writer.js @@ -89,6 +89,8 @@ function writeValue(value, buffer, transform) { writeDict(value, buffer, transform); } else if (isStream(value)) { writeStream(value, buffer, transform); + } else if (value === null) { + buffer.push("null"); } else { warn(`Unhandled value in writer: ${typeof value}, please file a bug.`); } diff --git a/test/unit/writer_spec.js b/test/unit/writer_spec.js index 7f9284633..1cfb5a8d0 100644 --- a/test/unit/writer_spec.js +++ b/test/unit/writer_spec.js @@ -117,6 +117,9 @@ describe("Writer", function () { dict.set("J", true); dict.set("K", false); + dict.set("NullArr", [null, 10]); + dict.set("NullVal", null); + const buffer = []; writeDict(dict, buffer, null); @@ -125,7 +128,8 @@ describe("Writer", function () { "/E (\\(hello\\\\world\\)) /F [1.23 4.5 6] " + "/G << /H 123 /I << /Length 8>> stream\n" + "a stream\n" + - "endstream\n>> /J true /K false>>"; + "endstream\n>> /J true /K false " + + "/NullArr [null 10] /NullVal null>>"; expect(buffer.join("")).toEqual(expected); });