From 43f1946c7a57b42cf1306c5857859cec9209edbc Mon Sep 17 00:00:00 2001 From: Yury Delendik Date: Sun, 20 May 2012 14:05:23 -0500 Subject: [PATCH] Add prefixes for literals --- src/evaluator.js | 10 +++++++++- test/unit/evaluator_spec.js | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/evaluator.js b/src/evaluator.js index 2c07db88c..1dab7de0b 100644 --- a/src/evaluator.js +++ b/src/evaluator.js @@ -112,7 +112,15 @@ var PartialEvaluator = (function PartialEvaluatorClosure() { // (reserved partial commands for the lexer) BM: null, - BD: null + BD: null, + 'true': null, + fa: null, + fal: null, + fals: null, + 'false': null, + nu: null, + nul: null, + 'null': null }; PartialEvaluator.prototype = { diff --git a/test/unit/evaluator_spec.js b/test/unit/evaluator_spec.js index 286b8158a..e31a525ac 100644 --- a/test/unit/evaluator_spec.js +++ b/test/unit/evaluator_spec.js @@ -108,6 +108,24 @@ describe('evaluator', function() { expect(result.argsArray[1].length).toEqual(1); expect(result.argsArray[1][0]).toEqual(5); }); + + it('should handle glued operations and literals', function() { + var evaluator = new PartialEvaluator(new XrefMock(), new HandlerMock(), + 'prefix'); + var stream = new StringStream('trueifalserinulli'); + var result = evaluator.getOperatorList(stream, new ResourcesMock(), []); + + expect(!!result.fnArray && !!result.argsArray).toEqual(true); + expect(result.fnArray.length).toEqual(3); + expect(result.fnArray[0]).toEqual('setFlatness'); + expect(result.fnArray[1]).toEqual('setRenderingIntent'); + expect(result.fnArray[2]).toEqual('setFlatness'); + expect(result.argsArray.length).toEqual(3); + expect(result.argsArray[0].length).toEqual(1); + expect(result.argsArray[0][0]).toEqual(true); + expect(result.argsArray[1].length).toEqual(1); + expect(result.argsArray[1][0]).toEqual(false); + }); }); });