mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-21 23:58:07 +02:00
Merge pull request #12087 from Snuffleupagus/LocalGStateCache
Add local caching of "simple" Graphics State (ExtGState) data in `PartialEvaluator.{getOperatorList, getTextContent}` (issue 2813)
This commit is contained in:
commit
e63d1ebff5
3 changed files with 180 additions and 54 deletions
|
@ -242,23 +242,35 @@ describe("evaluator", function () {
|
|||
);
|
||||
});
|
||||
it("should execute if nested commands", function (done) {
|
||||
const gState = new Dict();
|
||||
gState.set("LW", 2);
|
||||
gState.set("CA", 0.5);
|
||||
|
||||
const extGState = new Dict();
|
||||
extGState.set("GS2", gState);
|
||||
|
||||
const resources = new ResourcesMock();
|
||||
resources.ExtGState = extGState;
|
||||
|
||||
var stream = new StringStream("/F2 /GS2 gs 5.711 Tf");
|
||||
runOperatorListCheck(
|
||||
partialEvaluator,
|
||||
stream,
|
||||
new ResourcesMock(),
|
||||
function (result) {
|
||||
expect(result.fnArray.length).toEqual(3);
|
||||
expect(result.fnArray[0]).toEqual(OPS.setGState);
|
||||
expect(result.fnArray[1]).toEqual(OPS.dependency);
|
||||
expect(result.fnArray[2]).toEqual(OPS.setFont);
|
||||
expect(result.argsArray.length).toEqual(3);
|
||||
expect(result.argsArray[0].length).toEqual(1);
|
||||
expect(result.argsArray[1].length).toEqual(1);
|
||||
expect(result.argsArray[2].length).toEqual(2);
|
||||
done();
|
||||
}
|
||||
);
|
||||
runOperatorListCheck(partialEvaluator, stream, resources, function (
|
||||
result
|
||||
) {
|
||||
expect(result.fnArray.length).toEqual(3);
|
||||
expect(result.fnArray[0]).toEqual(OPS.setGState);
|
||||
expect(result.fnArray[1]).toEqual(OPS.dependency);
|
||||
expect(result.fnArray[2]).toEqual(OPS.setFont);
|
||||
expect(result.argsArray.length).toEqual(3);
|
||||
expect(result.argsArray[0]).toEqual([
|
||||
[
|
||||
["LW", 2],
|
||||
["CA", 0.5],
|
||||
],
|
||||
]);
|
||||
expect(result.argsArray[1]).toEqual(["g_font_error"]);
|
||||
expect(result.argsArray[2]).toEqual(["g_font_error", 5.711]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it("should skip if too few arguments", function (done) {
|
||||
var stream = new StringStream("5 d0");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue