pdfjs-dist 2.3.200 → 2.4.456
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pdfjs-dist might be problematic. Click here for more details.
- package/README.md +4 -0
- package/bower.json +1 -1
- package/build/pdf.js +6499 -17971
- package/build/pdf.js.map +1 -1
- package/build/pdf.min.js +22 -1
- package/build/pdf.worker.entry.js +5 -3
- package/build/pdf.worker.js +19303 -29896
- package/build/pdf.worker.js.map +1 -1
- package/build/pdf.worker.min.js +22 -1
- package/es5/build/pdf.js +25473 -0
- package/es5/build/pdf.js.map +1 -0
- package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
- package/es5/build/pdf.worker.js +57878 -0
- package/es5/build/pdf.worker.js.map +1 -0
- package/es5/web/images/annotation-check.svg +11 -0
- package/es5/web/images/annotation-comment.svg +16 -0
- package/es5/web/images/annotation-help.svg +26 -0
- package/es5/web/images/annotation-insert.svg +10 -0
- package/es5/web/images/annotation-key.svg +11 -0
- package/es5/web/images/annotation-newparagraph.svg +11 -0
- package/es5/web/images/annotation-noicon.svg +7 -0
- package/es5/web/images/annotation-note.svg +42 -0
- package/es5/web/images/annotation-paragraph.svg +16 -0
- package/es5/web/images/loading-icon.gif +0 -0
- package/es5/web/images/shadow.png +0 -0
- package/es5/web/images/texture.png +0 -0
- package/es5/web/pdf_viewer.css +407 -0
- package/es5/web/pdf_viewer.js +7757 -0
- package/es5/web/pdf_viewer.js.map +1 -0
- package/image_decoders/pdf.image_decoders.js +1333 -4839
- package/image_decoders/pdf.image_decoders.js.map +1 -1
- package/image_decoders/pdf.image_decoders.min.js +22 -1
- package/lib/README.md +7 -0
- package/lib/core/annotation.js +683 -1066
- package/lib/core/arithmetic_decoder.js +81 -97
- package/lib/core/bidi.js +54 -46
- package/lib/core/ccitt.js +88 -81
- package/lib/core/ccitt_stream.js +15 -14
- package/lib/core/cff_parser.js +196 -193
- package/lib/core/charsets.js +4 -4
- package/lib/core/chunked_stream.js +441 -569
- package/lib/core/cmap.js +220 -279
- package/lib/core/colorspace.js +699 -863
- package/lib/core/core_utils.js +59 -80
- package/lib/core/crypto.js +379 -437
- package/lib/core/document.js +564 -673
- package/lib/core/encodings.js +15 -15
- package/lib/core/evaluator.js +983 -889
- package/lib/core/font_renderer.js +128 -171
- package/lib/core/fonts.js +451 -400
- package/lib/core/function.js +289 -285
- package/lib/core/glyphlist.js +4527 -4527
- package/lib/core/image.js +138 -117
- package/lib/core/image_utils.js +46 -63
- package/lib/core/jbig2.js +324 -332
- package/lib/core/jbig2_stream.js +18 -17
- package/lib/core/jpeg_stream.js +133 -24
- package/lib/core/jpg.js +238 -210
- package/lib/core/jpx.js +158 -157
- package/lib/core/jpx_stream.js +28 -28
- package/lib/core/metrics.js +2928 -2928
- package/lib/core/murmurhash3.js +87 -102
- package/lib/core/obj.js +1111 -1302
- package/lib/core/operator_list.js +55 -42
- package/lib/core/parser.js +956 -987
- package/lib/core/pattern.js +69 -69
- package/lib/core/pdf_manager.js +149 -316
- package/lib/core/primitives.js +45 -77
- package/lib/core/ps_parser.js +175 -214
- package/lib/core/standard_fonts.js +237 -236
- package/lib/core/stream.js +83 -77
- package/lib/core/type1_parser.js +78 -68
- package/lib/core/unicode.js +1654 -1654
- package/lib/core/worker.js +148 -196
- package/lib/core/worker_stream.js +101 -210
- package/lib/display/annotation_layer.js +733 -1155
- package/lib/display/api.js +1539 -1928
- package/lib/display/api_compatibility.js +10 -8
- package/lib/display/canvas.js +159 -158
- package/lib/display/content_disposition.js +36 -55
- package/lib/display/display_utils.js +298 -551
- package/lib/display/fetch_stream.js +181 -305
- package/lib/display/font_loader.js +273 -416
- package/lib/display/metadata.js +86 -98
- package/lib/display/network.js +376 -511
- package/lib/display/network_utils.js +20 -19
- package/lib/display/node_stream.js +276 -460
- package/lib/display/pattern_helper.js +76 -44
- package/lib/display/svg.js +1137 -1405
- package/lib/display/text_layer.js +75 -82
- package/lib/display/transport_stream.js +236 -374
- package/lib/display/webgl.js +70 -83
- package/lib/display/worker_options.js +3 -3
- package/lib/display/xml_parser.js +303 -392
- package/lib/examples/node/domstubs.js +37 -37
- package/lib/pdf.js +22 -21
- package/lib/pdf.worker.js +5 -5
- package/lib/shared/compatibility.js +2 -251
- package/lib/shared/is_node.js +7 -6
- package/lib/shared/message_handler.js +222 -194
- package/lib/shared/util.js +269 -405
- package/lib/test/unit/annotation_spec.js +1089 -1014
- package/lib/test/unit/api_spec.js +617 -544
- package/lib/test/unit/bidi_spec.js +7 -7
- package/lib/test/unit/cff_parser_spec.js +63 -62
- package/lib/test/unit/clitests_helper.js +7 -9
- package/lib/test/unit/cmap_spec.js +84 -86
- package/lib/test/unit/colorspace_spec.js +154 -154
- package/lib/test/unit/core_utils_spec.js +125 -105
- package/lib/test/unit/crypto_spec.js +181 -181
- package/lib/test/unit/custom_spec.js +22 -24
- package/lib/test/unit/display_svg_spec.js +35 -36
- package/lib/test/unit/display_utils_spec.js +139 -149
- package/lib/test/unit/document_spec.js +16 -16
- package/lib/test/unit/encodings_spec.js +12 -34
- package/lib/test/unit/evaluator_spec.js +81 -95
- package/lib/test/unit/fetch_stream_spec.js +30 -30
- package/lib/test/unit/function_spec.js +206 -204
- package/lib/test/unit/jasmine-boot.js +48 -32
- package/lib/test/unit/message_handler_spec.js +172 -162
- package/lib/test/unit/metadata_spec.js +69 -69
- package/lib/test/unit/murmurhash3_spec.js +12 -12
- package/lib/test/unit/network_spec.js +12 -12
- package/lib/test/unit/network_utils_spec.js +152 -152
- package/lib/test/unit/node_stream_spec.js +74 -90
- package/lib/test/unit/parser_spec.js +107 -113
- package/lib/test/unit/pdf_find_controller_spec.js +55 -86
- package/lib/test/unit/pdf_find_utils_spec.js +32 -32
- package/lib/test/unit/pdf_history_spec.js +32 -32
- package/lib/test/unit/primitives_spec.js +117 -115
- package/lib/test/unit/stream_spec.js +16 -14
- package/lib/test/unit/test_utils.js +119 -285
- package/lib/test/unit/testreporter.js +19 -19
- package/lib/test/unit/type1_parser_spec.js +41 -41
- package/lib/test/unit/ui_utils_spec.js +318 -426
- package/lib/test/unit/unicode_spec.js +42 -42
- package/lib/test/unit/util_spec.js +122 -143
- package/lib/web/annotation_layer_builder.js +66 -103
- package/lib/web/app.js +1166 -1196
- package/lib/web/app_options.js +61 -77
- package/lib/web/base_viewer.js +804 -850
- package/lib/web/chromecom.js +164 -249
- package/lib/web/debugger.js +149 -205
- package/lib/web/download_manager.js +38 -57
- package/lib/web/firefox_print_service.js +35 -30
- package/lib/web/firefoxcom.js +175 -374
- package/lib/web/genericcom.js +26 -108
- package/lib/web/genericl10n.js +24 -153
- package/lib/web/grab_to_pan.js +30 -30
- package/lib/web/interfaces.js +80 -258
- package/lib/web/overlay_manager.js +70 -246
- package/lib/web/password_prompt.js +38 -64
- package/lib/web/pdf_attachment_viewer.js +105 -130
- package/lib/web/pdf_cursor_tools.js +75 -102
- package/lib/web/pdf_document_properties.js +227 -376
- package/lib/web/pdf_find_bar.js +137 -171
- package/lib/web/pdf_find_controller.js +492 -549
- package/lib/web/pdf_find_utils.js +13 -13
- package/lib/web/pdf_history.js +395 -406
- package/lib/web/pdf_link_service.js +302 -349
- package/lib/web/pdf_outline_viewer.js +148 -209
- package/lib/web/pdf_page_view.js +449 -507
- package/lib/web/pdf_presentation_mode.js +304 -357
- package/lib/web/pdf_print_service.js +90 -104
- package/lib/web/pdf_rendering_queue.js +87 -108
- package/lib/web/pdf_sidebar.js +264 -304
- package/lib/web/pdf_sidebar_resizer.js +92 -119
- package/lib/web/pdf_single_page_viewer.js +77 -126
- package/lib/web/pdf_thumbnail_view.js +276 -297
- package/lib/web/pdf_thumbnail_viewer.js +186 -206
- package/lib/web/pdf_viewer.component.js +20 -21
- package/lib/web/pdf_viewer.js +55 -115
- package/lib/web/preferences.js +66 -273
- package/lib/web/secondary_toolbar.js +164 -196
- package/lib/web/text_layer_builder.js +284 -317
- package/lib/web/toolbar.js +216 -211
- package/lib/web/ui_utils.js +303 -404
- package/lib/web/view_history.js +49 -222
- package/lib/web/viewer_compatibility.js +7 -5
- package/package.json +2 -9
- package/web/pdf_viewer.css +25 -18
- package/web/pdf_viewer.js +3481 -4764
- package/web/pdf_viewer.js.map +1 -1
- package/webpack.js +14 -5
- package/lib/shared/streams_polyfill.js +0 -43
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -21,23 +21,13 @@
|
|
21
21
|
*/
|
22
22
|
"use strict";
|
23
23
|
|
24
|
-
var _display_utils = require("../../display/display_utils");
|
24
|
+
var _display_utils = require("../../display/display_utils.js");
|
25
25
|
|
26
|
-
var _is_node =
|
26
|
+
var _is_node = require("../../shared/is_node.js");
|
27
27
|
|
28
|
-
function
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
|
33
|
-
|
34
|
-
function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
35
|
-
|
36
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
37
|
-
|
38
|
-
describe('display_utils', function () {
|
39
|
-
describe('DOMCanvasFactory', function () {
|
40
|
-
var canvasFactory;
|
28
|
+
describe("display_utils", function () {
|
29
|
+
describe("DOMCanvasFactory", function () {
|
30
|
+
let canvasFactory;
|
41
31
|
beforeAll(function (done) {
|
42
32
|
canvasFactory = new _display_utils.DOMCanvasFactory();
|
43
33
|
done();
|
@@ -45,83 +35,87 @@ describe('display_utils', function () {
|
|
45
35
|
afterAll(function () {
|
46
36
|
canvasFactory = null;
|
47
37
|
});
|
48
|
-
it(
|
38
|
+
it("`create` should throw an error if the dimensions are invalid", function () {
|
49
39
|
expect(function () {
|
50
40
|
return canvasFactory.create(-1, 1);
|
51
|
-
}).toThrow(new Error(
|
41
|
+
}).toThrow(new Error("Invalid canvas size"));
|
52
42
|
expect(function () {
|
53
43
|
return canvasFactory.create(1, -1);
|
54
|
-
}).toThrow(new Error(
|
44
|
+
}).toThrow(new Error("Invalid canvas size"));
|
55
45
|
});
|
56
|
-
it(
|
57
|
-
if (
|
58
|
-
pending(
|
46
|
+
it("`create` should return a canvas if the dimensions are valid", function () {
|
47
|
+
if (_is_node.isNodeJS) {
|
48
|
+
pending("Document is not supported in Node.js.");
|
59
49
|
}
|
60
50
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
51
|
+
const {
|
52
|
+
canvas,
|
53
|
+
context
|
54
|
+
} = canvasFactory.create(20, 40);
|
65
55
|
expect(canvas instanceof HTMLCanvasElement).toBe(true);
|
66
56
|
expect(context instanceof CanvasRenderingContext2D).toBe(true);
|
67
57
|
expect(canvas.width).toBe(20);
|
68
58
|
expect(canvas.height).toBe(40);
|
69
59
|
});
|
70
|
-
it(
|
71
|
-
|
60
|
+
it("`reset` should throw an error if no canvas is provided", function () {
|
61
|
+
const canvasAndContext = {
|
72
62
|
canvas: null,
|
73
63
|
context: null
|
74
64
|
};
|
75
65
|
expect(function () {
|
76
66
|
return canvasFactory.reset(canvasAndContext, 20, 40);
|
77
|
-
}).toThrow(new Error(
|
67
|
+
}).toThrow(new Error("Canvas is not specified"));
|
78
68
|
});
|
79
|
-
it(
|
80
|
-
|
81
|
-
canvas:
|
82
|
-
context:
|
69
|
+
it("`reset` should throw an error if the dimensions are invalid", function () {
|
70
|
+
const canvasAndContext = {
|
71
|
+
canvas: "foo",
|
72
|
+
context: "bar"
|
83
73
|
};
|
84
74
|
expect(function () {
|
85
75
|
return canvasFactory.reset(canvasAndContext, -1, 1);
|
86
|
-
}).toThrow(new Error(
|
76
|
+
}).toThrow(new Error("Invalid canvas size"));
|
87
77
|
expect(function () {
|
88
78
|
return canvasFactory.reset(canvasAndContext, 1, -1);
|
89
|
-
}).toThrow(new Error(
|
79
|
+
}).toThrow(new Error("Invalid canvas size"));
|
90
80
|
});
|
91
|
-
it(
|
92
|
-
if (
|
93
|
-
pending(
|
81
|
+
it("`reset` should alter the canvas/context if the dimensions are valid", function () {
|
82
|
+
if (_is_node.isNodeJS) {
|
83
|
+
pending("Document is not supported in Node.js.");
|
94
84
|
}
|
95
85
|
|
96
|
-
|
86
|
+
const canvasAndContext = canvasFactory.create(20, 40);
|
97
87
|
canvasFactory.reset(canvasAndContext, 60, 80);
|
98
|
-
|
99
|
-
|
88
|
+
const {
|
89
|
+
canvas,
|
90
|
+
context
|
91
|
+
} = canvasAndContext;
|
100
92
|
expect(canvas instanceof HTMLCanvasElement).toBe(true);
|
101
93
|
expect(context instanceof CanvasRenderingContext2D).toBe(true);
|
102
94
|
expect(canvas.width).toBe(60);
|
103
95
|
expect(canvas.height).toBe(80);
|
104
96
|
});
|
105
|
-
it(
|
97
|
+
it("`destroy` should throw an error if no canvas is provided", function () {
|
106
98
|
expect(function () {
|
107
99
|
return canvasFactory.destroy({});
|
108
|
-
}).toThrow(new Error(
|
100
|
+
}).toThrow(new Error("Canvas is not specified"));
|
109
101
|
});
|
110
|
-
it(
|
111
|
-
if (
|
112
|
-
pending(
|
102
|
+
it("`destroy` should clear the canvas/context", function () {
|
103
|
+
if (_is_node.isNodeJS) {
|
104
|
+
pending("Document is not supported in Node.js.");
|
113
105
|
}
|
114
106
|
|
115
|
-
|
107
|
+
const canvasAndContext = canvasFactory.create(20, 40);
|
116
108
|
canvasFactory.destroy(canvasAndContext);
|
117
|
-
|
118
|
-
|
109
|
+
const {
|
110
|
+
canvas,
|
111
|
+
context
|
112
|
+
} = canvasAndContext;
|
119
113
|
expect(canvas).toBe(null);
|
120
114
|
expect(context).toBe(null);
|
121
115
|
});
|
122
116
|
});
|
123
|
-
describe(
|
124
|
-
|
117
|
+
describe("DOMSVGFactory", function () {
|
118
|
+
let svgFactory;
|
125
119
|
beforeAll(function (done) {
|
126
120
|
svgFactory = new _display_utils.DOMSVGFactory();
|
127
121
|
done();
|
@@ -129,137 +123,133 @@ describe('display_utils', function () {
|
|
129
123
|
afterAll(function () {
|
130
124
|
svgFactory = null;
|
131
125
|
});
|
132
|
-
it(
|
126
|
+
it("`create` should throw an error if the dimensions are invalid", function () {
|
133
127
|
expect(function () {
|
134
128
|
return svgFactory.create(-1, 0);
|
135
|
-
}).toThrow(new Error(
|
129
|
+
}).toThrow(new Error("Invalid SVG dimensions"));
|
136
130
|
expect(function () {
|
137
131
|
return svgFactory.create(0, -1);
|
138
|
-
}).toThrow(new Error(
|
132
|
+
}).toThrow(new Error("Invalid SVG dimensions"));
|
139
133
|
});
|
140
|
-
it(
|
141
|
-
if (
|
142
|
-
pending(
|
134
|
+
it("`create` should return an SVG element if the dimensions are valid", function () {
|
135
|
+
if (_is_node.isNodeJS) {
|
136
|
+
pending("Document is not supported in Node.js.");
|
143
137
|
}
|
144
138
|
|
145
|
-
|
139
|
+
const svg = svgFactory.create(20, 40);
|
146
140
|
expect(svg instanceof SVGSVGElement).toBe(true);
|
147
|
-
expect(svg.getAttribute(
|
148
|
-
expect(svg.getAttribute(
|
149
|
-
expect(svg.getAttribute(
|
150
|
-
expect(svg.getAttribute(
|
151
|
-
expect(svg.getAttribute(
|
141
|
+
expect(svg.getAttribute("version")).toBe("1.1");
|
142
|
+
expect(svg.getAttribute("width")).toBe("20px");
|
143
|
+
expect(svg.getAttribute("height")).toBe("40px");
|
144
|
+
expect(svg.getAttribute("preserveAspectRatio")).toBe("none");
|
145
|
+
expect(svg.getAttribute("viewBox")).toBe("0 0 20 40");
|
152
146
|
});
|
153
|
-
it(
|
147
|
+
it("`createElement` should throw an error if the type is not a string", function () {
|
154
148
|
expect(function () {
|
155
149
|
return svgFactory.createElement(true);
|
156
|
-
}).toThrow(new Error(
|
150
|
+
}).toThrow(new Error("Invalid SVG element type"));
|
157
151
|
});
|
158
|
-
it(
|
159
|
-
if (
|
160
|
-
pending(
|
152
|
+
it("`createElement` should return an SVG element if the type is valid", function () {
|
153
|
+
if (_is_node.isNodeJS) {
|
154
|
+
pending("Document is not supported in Node.js.");
|
161
155
|
}
|
162
156
|
|
163
|
-
|
157
|
+
const svg = svgFactory.createElement("svg:rect");
|
164
158
|
expect(svg instanceof SVGRectElement).toBe(true);
|
165
159
|
});
|
166
160
|
});
|
167
|
-
describe(
|
168
|
-
it(
|
169
|
-
|
170
|
-
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual(
|
161
|
+
describe("getFilenameFromUrl", function () {
|
162
|
+
it("should get the filename from an absolute URL", function () {
|
163
|
+
const url = "https://server.org/filename.pdf";
|
164
|
+
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual("filename.pdf");
|
171
165
|
});
|
172
|
-
it(
|
173
|
-
|
174
|
-
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual(
|
166
|
+
it("should get the filename from a relative URL", function () {
|
167
|
+
const url = "../../filename.pdf";
|
168
|
+
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual("filename.pdf");
|
175
169
|
});
|
176
|
-
it(
|
177
|
-
|
178
|
-
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual(
|
170
|
+
it("should get the filename from a URL with an anchor", function () {
|
171
|
+
const url = "https://server.org/filename.pdf#foo";
|
172
|
+
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual("filename.pdf");
|
179
173
|
});
|
180
|
-
it(
|
181
|
-
|
182
|
-
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual(
|
174
|
+
it("should get the filename from a URL with query parameters", function () {
|
175
|
+
const url = "https://server.org/filename.pdf?foo=bar";
|
176
|
+
expect((0, _display_utils.getFilenameFromUrl)(url)).toEqual("filename.pdf");
|
183
177
|
});
|
184
178
|
});
|
185
|
-
describe(
|
186
|
-
it(
|
179
|
+
describe("isValidFetchUrl", function () {
|
180
|
+
it("handles invalid Fetch URLs", function () {
|
187
181
|
expect((0, _display_utils.isValidFetchUrl)(null)).toEqual(false);
|
188
182
|
expect((0, _display_utils.isValidFetchUrl)(100)).toEqual(false);
|
189
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
190
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
183
|
+
expect((0, _display_utils.isValidFetchUrl)("foo")).toEqual(false);
|
184
|
+
expect((0, _display_utils.isValidFetchUrl)("/foo", 100)).toEqual(false);
|
191
185
|
});
|
192
|
-
it(
|
193
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
194
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
186
|
+
it("handles relative Fetch URLs", function () {
|
187
|
+
expect((0, _display_utils.isValidFetchUrl)("/foo", "file://www.example.com")).toEqual(false);
|
188
|
+
expect((0, _display_utils.isValidFetchUrl)("/foo", "http://www.example.com")).toEqual(true);
|
195
189
|
});
|
196
|
-
it(
|
197
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
198
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
190
|
+
it("handles unsupported Fetch protocols", function () {
|
191
|
+
expect((0, _display_utils.isValidFetchUrl)("file://www.example.com")).toEqual(false);
|
192
|
+
expect((0, _display_utils.isValidFetchUrl)("ftp://www.example.com")).toEqual(false);
|
199
193
|
});
|
200
|
-
it(
|
201
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
202
|
-
expect((0, _display_utils.isValidFetchUrl)(
|
194
|
+
it("handles supported Fetch protocols", function () {
|
195
|
+
expect((0, _display_utils.isValidFetchUrl)("http://www.example.com")).toEqual(true);
|
196
|
+
expect((0, _display_utils.isValidFetchUrl)("https://www.example.com")).toEqual(true);
|
203
197
|
});
|
204
198
|
});
|
205
|
-
describe(
|
206
|
-
describe(
|
207
|
-
it(
|
208
|
-
|
199
|
+
describe("PDFDateString", function () {
|
200
|
+
describe("toDateObject", function () {
|
201
|
+
it("converts PDF date strings to JavaScript `Date` objects", function () {
|
202
|
+
const expectations = {
|
209
203
|
undefined: null,
|
210
|
-
|
204
|
+
null: null,
|
211
205
|
42: null,
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
206
|
+
"2019": null,
|
207
|
+
D2019: null,
|
208
|
+
"D:": null,
|
209
|
+
"D:201": null,
|
210
|
+
"D:2019": new Date(Date.UTC(2019, 0, 1, 0, 0, 0)),
|
211
|
+
"D:20190": new Date(Date.UTC(2019, 0, 1, 0, 0, 0)),
|
212
|
+
"D:201900": new Date(Date.UTC(2019, 0, 1, 0, 0, 0)),
|
213
|
+
"D:201913": new Date(Date.UTC(2019, 0, 1, 0, 0, 0)),
|
214
|
+
"D:201902": new Date(Date.UTC(2019, 1, 1, 0, 0, 0)),
|
215
|
+
"D:2019020": new Date(Date.UTC(2019, 1, 1, 0, 0, 0)),
|
216
|
+
"D:20190200": new Date(Date.UTC(2019, 1, 1, 0, 0, 0)),
|
217
|
+
"D:20190232": new Date(Date.UTC(2019, 1, 1, 0, 0, 0)),
|
218
|
+
"D:20190203": new Date(Date.UTC(2019, 1, 3, 0, 0, 0)),
|
219
|
+
"D:20190431": new Date(Date.UTC(2019, 4, 1, 0, 0, 0)),
|
220
|
+
"D:201902030": new Date(Date.UTC(2019, 1, 3, 0, 0, 0)),
|
221
|
+
"D:2019020300": new Date(Date.UTC(2019, 1, 3, 0, 0, 0)),
|
222
|
+
"D:2019020324": new Date(Date.UTC(2019, 1, 3, 0, 0, 0)),
|
223
|
+
"D:2019020304": new Date(Date.UTC(2019, 1, 3, 4, 0, 0)),
|
224
|
+
"D:20190203040": new Date(Date.UTC(2019, 1, 3, 4, 0, 0)),
|
225
|
+
"D:201902030400": new Date(Date.UTC(2019, 1, 3, 4, 0, 0)),
|
226
|
+
"D:201902030460": new Date(Date.UTC(2019, 1, 3, 4, 0, 0)),
|
227
|
+
"D:201902030405": new Date(Date.UTC(2019, 1, 3, 4, 5, 0)),
|
228
|
+
"D:2019020304050": new Date(Date.UTC(2019, 1, 3, 4, 5, 0)),
|
229
|
+
"D:20190203040500": new Date(Date.UTC(2019, 1, 3, 4, 5, 0)),
|
230
|
+
"D:20190203040560": new Date(Date.UTC(2019, 1, 3, 4, 5, 0)),
|
231
|
+
"D:20190203040506": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
232
|
+
"D:20190203040506F": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
233
|
+
"D:20190203040506Z": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
234
|
+
"D:20190203040506-": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
235
|
+
"D:20190203040506+": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
236
|
+
"D:20190203040506+'": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
237
|
+
"D:20190203040506+0": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
238
|
+
"D:20190203040506+01": new Date(Date.UTC(2019, 1, 3, 3, 5, 6)),
|
239
|
+
"D:20190203040506+00'": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
240
|
+
"D:20190203040506+24'": new Date(Date.UTC(2019, 1, 3, 4, 5, 6)),
|
241
|
+
"D:20190203040506+01'": new Date(Date.UTC(2019, 1, 3, 3, 5, 6)),
|
242
|
+
"D:20190203040506+01'0": new Date(Date.UTC(2019, 1, 3, 3, 5, 6)),
|
243
|
+
"D:20190203040506+01'00": new Date(Date.UTC(2019, 1, 3, 3, 5, 6)),
|
244
|
+
"D:20190203040506+01'60": new Date(Date.UTC(2019, 1, 3, 3, 5, 6)),
|
245
|
+
"D:20190203040506+0102": new Date(Date.UTC(2019, 1, 3, 3, 3, 6)),
|
246
|
+
"D:20190203040506+01'02": new Date(Date.UTC(2019, 1, 3, 3, 3, 6)),
|
247
|
+
"D:20190203040506+01'02'": new Date(Date.UTC(2019, 1, 3, 3, 3, 6)),
|
248
|
+
"D:20190203040506+05'07": new Date(Date.UTC(2019, 1, 2, 22, 58, 6))
|
255
249
|
};
|
256
250
|
|
257
|
-
for (
|
258
|
-
|
259
|
-
input = _Object$entries$_i[0],
|
260
|
-
expectation = _Object$entries$_i[1];
|
261
|
-
|
262
|
-
var result = _display_utils.PDFDateString.toDateObject(input);
|
251
|
+
for (const [input, expectation] of Object.entries(expectations)) {
|
252
|
+
const result = _display_utils.PDFDateString.toDateObject(input);
|
263
253
|
|
264
254
|
if (result) {
|
265
255
|
expect(result.getTime()).toEqual(expectation.getTime());
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -21,22 +21,22 @@
|
|
21
21
|
*/
|
22
22
|
"use strict";
|
23
23
|
|
24
|
-
var _test_utils = require("./test_utils");
|
24
|
+
var _test_utils = require("./test_utils.js");
|
25
25
|
|
26
|
-
describe(
|
27
|
-
describe(
|
28
|
-
it(
|
29
|
-
|
30
|
-
|
31
|
-
expect(idFactory1.createObjId()).toEqual(
|
32
|
-
expect(idFactory1.createObjId()).toEqual(
|
33
|
-
expect(idFactory1.getDocId()).toEqual(
|
34
|
-
expect(idFactory2.createObjId()).toEqual(
|
35
|
-
expect(idFactory2.createObjId()).toEqual(
|
36
|
-
expect(idFactory2.getDocId()).toEqual(
|
37
|
-
expect(idFactory1.createObjId()).toEqual(
|
38
|
-
expect(idFactory1.createObjId()).toEqual(
|
39
|
-
expect(idFactory1.getDocId()).toEqual(
|
26
|
+
describe("document", function () {
|
27
|
+
describe("Page", function () {
|
28
|
+
it("should create correct objId using the idFactory", function () {
|
29
|
+
const idFactory1 = (0, _test_utils.createIdFactory)(0);
|
30
|
+
const idFactory2 = (0, _test_utils.createIdFactory)(1);
|
31
|
+
expect(idFactory1.createObjId()).toEqual("p0_1");
|
32
|
+
expect(idFactory1.createObjId()).toEqual("p0_2");
|
33
|
+
expect(idFactory1.getDocId()).toEqual("g_d0");
|
34
|
+
expect(idFactory2.createObjId()).toEqual("p1_1");
|
35
|
+
expect(idFactory2.createObjId()).toEqual("p1_2");
|
36
|
+
expect(idFactory2.getDocId()).toEqual("g_d0");
|
37
|
+
expect(idFactory1.createObjId()).toEqual("p0_3");
|
38
|
+
expect(idFactory1.createObjId()).toEqual("p0_4");
|
39
|
+
expect(idFactory1.getDocId()).toEqual("g_d0");
|
40
40
|
});
|
41
41
|
});
|
42
42
|
});
|
@@ -2,7 +2,7 @@
|
|
2
2
|
* @licstart The following is the entire license notice for the
|
3
3
|
* Javascript code in this page
|
4
4
|
*
|
5
|
-
* Copyright
|
5
|
+
* Copyright 2020 Mozilla Foundation
|
6
6
|
*
|
7
7
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
* you may not use this file except in compliance with the License.
|
@@ -21,47 +21,25 @@
|
|
21
21
|
*/
|
22
22
|
"use strict";
|
23
23
|
|
24
|
-
var _encodings = require("../../core/encodings");
|
24
|
+
var _encodings = require("../../core/encodings.js");
|
25
25
|
|
26
|
-
|
26
|
+
describe("encodings", function () {
|
27
|
+
describe("getEncoding", function () {
|
28
|
+
it("fetches a valid array for known encoding names", function () {
|
29
|
+
const knownEncodingNames = ["ExpertEncoding", "MacExpertEncoding", "MacRomanEncoding", "StandardEncoding", "SymbolSetEncoding", "WinAnsiEncoding", "ZapfDingbatsEncoding"];
|
27
30
|
|
28
|
-
|
29
|
-
|
30
|
-
it('fetches a valid array for known encoding names', function () {
|
31
|
-
var knownEncodingNames = ['ExpertEncoding', 'MacExpertEncoding', 'MacRomanEncoding', 'StandardEncoding', 'SymbolSetEncoding', 'WinAnsiEncoding', 'ZapfDingbatsEncoding'];
|
32
|
-
|
33
|
-
for (var _i = 0, _knownEncodingNames = knownEncodingNames; _i < _knownEncodingNames.length; _i++) {
|
34
|
-
var knownEncodingName = _knownEncodingNames[_i];
|
35
|
-
var encoding = (0, _encodings.getEncoding)(knownEncodingName);
|
31
|
+
for (const knownEncodingName of knownEncodingNames) {
|
32
|
+
const encoding = (0, _encodings.getEncoding)(knownEncodingName);
|
36
33
|
expect(Array.isArray(encoding)).toEqual(true);
|
37
34
|
expect(encoding.length).toEqual(256);
|
38
|
-
var _iteratorNormalCompletion = true;
|
39
|
-
var _didIteratorError = false;
|
40
|
-
var _iteratorError = undefined;
|
41
35
|
|
42
|
-
|
43
|
-
|
44
|
-
var item = _step.value;
|
45
|
-
expect(_typeof(item)).toEqual('string');
|
46
|
-
}
|
47
|
-
} catch (err) {
|
48
|
-
_didIteratorError = true;
|
49
|
-
_iteratorError = err;
|
50
|
-
} finally {
|
51
|
-
try {
|
52
|
-
if (!_iteratorNormalCompletion && _iterator["return"] != null) {
|
53
|
-
_iterator["return"]();
|
54
|
-
}
|
55
|
-
} finally {
|
56
|
-
if (_didIteratorError) {
|
57
|
-
throw _iteratorError;
|
58
|
-
}
|
59
|
-
}
|
36
|
+
for (const item of encoding) {
|
37
|
+
expect(typeof item).toEqual("string");
|
60
38
|
}
|
61
39
|
}
|
62
40
|
});
|
63
|
-
it(
|
64
|
-
expect((0, _encodings.getEncoding)(
|
41
|
+
it("fetches `null` for unknown encoding names", function () {
|
42
|
+
expect((0, _encodings.getEncoding)("FooBarEncoding")).toEqual(null);
|
65
43
|
});
|
66
44
|
});
|
67
45
|
});
|