diff --git a/test/unit/evaluator_spec.js b/test/unit/evaluator_spec.js index 0aa6bc685..643a965f0 100644 --- a/test/unit/evaluator_spec.js +++ b/test/unit/evaluator_spec.js @@ -423,4 +423,30 @@ describe("evaluator", function () { expect(operatorList.length).toEqual(0); }); }); + + describe("graphics-state operators", function () { + it("should convert negative line width to absolute value in the graphic state", async function () { + const gState = new Dict(); + gState.set("LW", -5); + const extGState = new Dict(); + extGState.set("GSneg", gState); + + const resources = new ResourcesMock(); + resources.ExtGState = extGState; + + const stream = new StringStream("/GSneg gs"); + const result = await runOperatorListCheck( + partialEvaluator, + stream, + resources + ); + + expect(result.fnArray).toEqual([OPS.setGState]); + + const stateEntries = result.argsArray[0][0]; + const lwEntry = stateEntries.find(([key]) => key === "LW"); + expect(lwEntry).toBeDefined(); + expect(lwEntry[1]).toEqual(5); + }); + }); });