diff --git a/src/core/writer.js b/src/core/writer.js index c6531979d..b25cfc3e1 100644 --- a/src/core/writer.js +++ b/src/core/writer.js @@ -83,10 +83,14 @@ function writeValue(value, buffer, transform) { buffer.push(`(${escapeString(value)})`); } else if (typeof value === "number") { buffer.push(numberToString(value)); + } else if (typeof value === "boolean") { + buffer.push(`${value.toString()}`); } else if (isDict(value)) { writeDict(value, buffer, transform); } else if (isStream(value)) { writeStream(value, buffer, transform); + } 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 81d978547..7f9284633 100644 --- a/test/unit/writer_spec.js +++ b/test/unit/writer_spec.js @@ -114,6 +114,8 @@ describe("Writer", function () { gdict.set("I", stream); dict.set("G", gdict); + dict.set("J", true); + dict.set("K", false); const buffer = []; writeDict(dict, buffer, null); @@ -123,7 +125,7 @@ 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>>>>"; + "endstream\n>> /J true /K false>>"; expect(buffer.join("")).toEqual(expected); });