]> git.parisson.com Git - pdf.js.git/commitdiff
Add prefixes for literals
authorYury Delendik <ydelendik@mozilla.com>
Sun, 20 May 2012 19:05:23 +0000 (14:05 -0500)
committerYury Delendik <ydelendik@mozilla.com>
Sun, 20 May 2012 19:05:23 +0000 (14:05 -0500)
src/evaluator.js
test/unit/evaluator_spec.js

index 2c07db88cfe1f92d37ec174f172ac41c56c4116f..1dab7de0b3476f26704029eed45c8a56abf9263c 100644 (file)
@@ -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 = {
index 286b8158add5a12cf2420d753f17db078d4a3067..e31a525ac7c074afd29a8562762ab43b5a5d5cf0 100644 (file)
@@ -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);
+    });
   });
 });