pdfjs-dist 2.1.266 → 2.5.207

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.

Files changed (191) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/README.md +4 -0
  3. package/bower.json +1 -1
  4. package/build/pdf.js +8382 -18492
  5. package/build/pdf.js.map +1 -1
  6. package/build/pdf.min.js +22 -1
  7. package/build/pdf.worker.entry.js +5 -3
  8. package/build/pdf.worker.js +20417 -29816
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25688 -0
  12. package/es5/build/pdf.js.map +1 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +58239 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/web/images/annotation-check.svg +11 -0
  17. package/es5/web/images/annotation-comment.svg +16 -0
  18. package/es5/web/images/annotation-help.svg +26 -0
  19. package/es5/web/images/annotation-insert.svg +10 -0
  20. package/es5/web/images/annotation-key.svg +11 -0
  21. package/es5/web/images/annotation-newparagraph.svg +11 -0
  22. package/es5/web/images/annotation-noicon.svg +7 -0
  23. package/es5/web/images/annotation-note.svg +42 -0
  24. package/es5/web/images/annotation-paragraph.svg +16 -0
  25. package/es5/web/images/loading-icon.gif +0 -0
  26. package/es5/web/images/shadow.png +0 -0
  27. package/es5/web/images/texture.png +0 -0
  28. package/es5/web/pdf_viewer.css +403 -0
  29. package/es5/web/pdf_viewer.js +7742 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +1475 -4897
  32. package/image_decoders/pdf.image_decoders.js.map +1 -1
  33. package/image_decoders/pdf.image_decoders.min.js +22 -1
  34. package/lib/README.md +7 -0
  35. package/lib/core/annotation.js +750 -899
  36. package/lib/core/arithmetic_decoder.js +81 -97
  37. package/lib/core/bidi.js +54 -46
  38. package/lib/core/ccitt.js +88 -81
  39. package/lib/core/ccitt_stream.js +15 -14
  40. package/lib/core/cff_parser.js +235 -183
  41. package/lib/core/charsets.js +4 -4
  42. package/lib/core/chunked_stream.js +447 -542
  43. package/lib/core/cmap.js +222 -264
  44. package/lib/core/colorspace.js +699 -863
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +379 -437
  47. package/lib/core/document.js +573 -660
  48. package/lib/core/encodings.js +15 -15
  49. package/lib/core/evaluator.js +1103 -868
  50. package/lib/core/font_renderer.js +135 -178
  51. package/lib/core/fonts.js +570 -491
  52. package/lib/core/function.js +291 -288
  53. package/lib/core/glyphlist.js +4527 -4526
  54. package/lib/core/image.js +145 -149
  55. package/lib/core/image_utils.js +170 -0
  56. package/lib/core/jbig2.js +325 -316
  57. package/lib/core/jbig2_stream.js +18 -17
  58. package/lib/core/jpeg_stream.js +21 -26
  59. package/lib/core/jpg.js +284 -232
  60. package/lib/core/jpx.js +161 -143
  61. package/lib/core/jpx_stream.js +28 -28
  62. package/lib/core/metrics.js +2929 -2929
  63. package/lib/core/murmurhash3.js +90 -101
  64. package/lib/core/obj.js +1183 -1157
  65. package/lib/core/operator_list.js +99 -67
  66. package/lib/core/parser.js +972 -911
  67. package/lib/core/pattern.js +87 -70
  68. package/lib/core/pdf_manager.js +150 -315
  69. package/lib/core/primitives.js +83 -56
  70. package/lib/core/ps_parser.js +175 -214
  71. package/lib/core/standard_fonts.js +237 -236
  72. package/lib/core/stream.js +94 -74
  73. package/lib/core/type1_parser.js +87 -69
  74. package/lib/core/unicode.js +1654 -1654
  75. package/lib/core/worker.js +193 -390
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +741 -972
  78. package/lib/display/api.js +1500 -1791
  79. package/lib/display/api_compatibility.js +12 -17
  80. package/lib/display/canvas.js +165 -165
  81. package/lib/display/content_disposition.js +40 -59
  82. package/lib/display/display_utils.js +515 -0
  83. package/lib/display/fetch_stream.js +183 -298
  84. package/lib/display/font_loader.js +273 -413
  85. package/lib/display/metadata.js +86 -98
  86. package/lib/display/network.js +266 -359
  87. package/lib/display/network_utils.js +25 -18
  88. package/lib/display/node_stream.js +285 -458
  89. package/lib/display/pattern_helper.js +113 -65
  90. package/lib/display/svg.js +1166 -901
  91. package/lib/display/text_layer.js +156 -132
  92. package/lib/display/transport_stream.js +262 -278
  93. package/lib/display/webgl.js +70 -83
  94. package/lib/display/worker_options.js +3 -3
  95. package/lib/display/xml_parser.js +303 -392
  96. package/lib/examples/node/domstubs.js +40 -37
  97. package/lib/pdf.js +226 -59
  98. package/lib/pdf.worker.js +14 -6
  99. package/lib/shared/compatibility.js +3 -246
  100. package/lib/shared/is_node.js +7 -6
  101. package/lib/shared/message_handler.js +327 -332
  102. package/lib/shared/util.js +266 -416
  103. package/lib/test/unit/annotation_spec.js +1555 -701
  104. package/lib/test/unit/api_spec.js +802 -604
  105. package/lib/test/unit/bidi_spec.js +7 -7
  106. package/lib/test/unit/cff_parser_spec.js +84 -69
  107. package/lib/test/unit/clitests_helper.js +7 -9
  108. package/lib/test/unit/cmap_spec.js +74 -76
  109. package/lib/test/unit/colorspace_spec.js +166 -161
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +181 -181
  112. package/lib/test/unit/custom_spec.js +20 -22
  113. package/lib/test/unit/display_svg_spec.js +34 -39
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +16 -21
  116. package/lib/test/unit/encodings_spec.js +12 -34
  117. package/lib/test/unit/evaluator_spec.js +83 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +206 -204
  120. package/lib/test/unit/jasmine-boot.js +46 -30
  121. package/lib/test/unit/message_handler_spec.js +173 -159
  122. package/lib/test/unit/metadata_spec.js +69 -69
  123. package/lib/test/unit/murmurhash3_spec.js +12 -12
  124. package/lib/test/unit/network_spec.js +13 -61
  125. package/lib/test/unit/network_utils_spec.js +183 -119
  126. package/lib/test/unit/node_stream_spec.js +78 -92
  127. package/lib/test/unit/parser_spec.js +172 -114
  128. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  129. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  130. package/lib/test/unit/pdf_history_spec.js +32 -32
  131. package/lib/test/unit/primitives_spec.js +140 -125
  132. package/lib/test/unit/stream_spec.js +16 -14
  133. package/lib/test/unit/test_utils.js +131 -143
  134. package/lib/test/unit/testreporter.js +19 -19
  135. package/lib/test/unit/type1_parser_spec.js +42 -42
  136. package/lib/test/unit/ui_utils_spec.js +297 -459
  137. package/lib/test/unit/unicode_spec.js +38 -38
  138. package/lib/test/unit/util_spec.js +121 -305
  139. package/lib/web/annotation_layer_builder.js +66 -103
  140. package/lib/web/app.js +1328 -1214
  141. package/lib/web/app_options.js +105 -107
  142. package/lib/web/base_viewer.js +824 -838
  143. package/lib/web/chromecom.js +165 -252
  144. package/lib/web/debugger.js +149 -205
  145. package/lib/web/download_manager.js +39 -55
  146. package/lib/web/firefox_print_service.js +37 -27
  147. package/lib/web/firefoxcom.js +212 -363
  148. package/lib/web/genericcom.js +26 -108
  149. package/lib/web/genericl10n.js +24 -153
  150. package/lib/web/grab_to_pan.js +32 -30
  151. package/lib/web/interfaces.js +80 -254
  152. package/lib/web/overlay_manager.js +70 -246
  153. package/lib/web/password_prompt.js +38 -64
  154. package/lib/web/pdf_attachment_viewer.js +113 -131
  155. package/lib/web/pdf_cursor_tools.js +75 -102
  156. package/lib/web/pdf_document_properties.js +221 -306
  157. package/lib/web/pdf_find_bar.js +136 -170
  158. package/lib/web/pdf_find_controller.js +491 -548
  159. package/lib/web/pdf_find_utils.js +13 -13
  160. package/lib/web/pdf_history.js +397 -406
  161. package/lib/web/pdf_link_service.js +304 -348
  162. package/lib/web/pdf_outline_viewer.js +140 -175
  163. package/lib/web/pdf_page_view.js +452 -523
  164. package/lib/web/pdf_presentation_mode.js +308 -357
  165. package/lib/web/pdf_print_service.js +90 -104
  166. package/lib/web/pdf_rendering_queue.js +84 -108
  167. package/lib/web/pdf_sidebar.js +276 -306
  168. package/lib/web/pdf_sidebar_resizer.js +92 -119
  169. package/lib/web/pdf_single_page_viewer.js +77 -126
  170. package/lib/web/pdf_thumbnail_view.js +276 -297
  171. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  172. package/lib/web/pdf_viewer.component.js +20 -21
  173. package/lib/web/pdf_viewer.js +55 -115
  174. package/lib/web/preferences.js +82 -286
  175. package/lib/web/secondary_toolbar.js +164 -196
  176. package/lib/web/text_layer_builder.js +282 -339
  177. package/lib/web/toolbar.js +217 -210
  178. package/lib/web/ui_utils.js +267 -420
  179. package/lib/web/view_history.js +52 -226
  180. package/lib/web/viewer_compatibility.js +21 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +35 -25
  183. package/web/pdf_viewer.js +3489 -4855
  184. package/web/pdf_viewer.js.map +1 -1
  185. package/webpack.js +14 -5
  186. package/external/streams/streams-lib.js +0 -3962
  187. package/external/url/url-lib.js +0 -627
  188. package/lib/display/dom_utils.js +0 -494
  189. package/lib/shared/streams_polyfill.js +0 -43
  190. package/lib/shared/url_polyfill.js +0 -56
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
@@ -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 2018 Mozilla Foundation
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,403 +21,219 @@
21
21
  */
22
22
  "use strict";
23
23
 
24
- var _util = require("../../shared/util");
24
+ var _util = require("../../shared/util.js");
25
25
 
26
- var _primitives = require("../../core/primitives");
27
-
28
- var _test_utils = require("./test_utils");
29
-
30
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
31
-
32
- describe('util', function () {
33
- describe('bytesToString', function () {
34
- it('handles non-array arguments', function () {
26
+ describe("util", function () {
27
+ describe("bytesToString", function () {
28
+ it("handles non-array arguments", function () {
35
29
  expect(function () {
36
30
  (0, _util.bytesToString)(null);
37
- }).toThrow(new Error('Invalid argument for bytesToString'));
31
+ }).toThrow(new Error("Invalid argument for bytesToString"));
38
32
  });
39
- it('handles array arguments with a length not exceeding the maximum', function () {
40
- expect((0, _util.bytesToString)(new Uint8Array([]))).toEqual('');
41
- expect((0, _util.bytesToString)(new Uint8Array([102, 111, 111]))).toEqual('foo');
33
+ it("handles array arguments with a length not exceeding the maximum", function () {
34
+ expect((0, _util.bytesToString)(new Uint8Array([]))).toEqual("");
35
+ expect((0, _util.bytesToString)(new Uint8Array([102, 111, 111]))).toEqual("foo");
42
36
  });
43
- it('handles array arguments with a length exceeding the maximum', function () {
44
- var length = 10000;
45
- var bytes = new Uint8Array(length);
37
+ it("handles array arguments with a length exceeding the maximum", function () {
38
+ const length = 10000;
39
+ const bytes = new Uint8Array(length);
46
40
 
47
- for (var i = 0; i < length; i++) {
48
- bytes[i] = 'a'.charCodeAt(0);
41
+ for (let i = 0; i < length; i++) {
42
+ bytes[i] = "a".charCodeAt(0);
49
43
  }
50
44
 
51
- var string = Array(length + 1).join('a');
45
+ const string = Array(length + 1).join("a");
52
46
  expect((0, _util.bytesToString)(bytes)).toEqual(string);
53
47
  });
54
48
  });
55
- describe('getInheritableProperty', function () {
56
- it('handles non-dictionary arguments', function () {
57
- expect((0, _util.getInheritableProperty)({
58
- dict: null,
59
- key: 'foo'
60
- })).toEqual(undefined);
61
- expect((0, _util.getInheritableProperty)({
62
- dict: undefined,
63
- key: 'foo'
64
- })).toEqual(undefined);
65
- });
66
- it('handles dictionaries that do not contain the property', function () {
67
- var emptyDict = new _primitives.Dict();
68
- expect((0, _util.getInheritableProperty)({
69
- dict: emptyDict,
70
- key: 'foo'
71
- })).toEqual(undefined);
72
- var filledDict = new _primitives.Dict();
73
- filledDict.set('bar', 'baz');
74
- expect((0, _util.getInheritableProperty)({
75
- dict: filledDict,
76
- key: 'foo'
77
- })).toEqual(undefined);
78
- });
79
- it('fetches the property if it is not inherited', function () {
80
- var ref = new _primitives.Ref(10, 0);
81
- var xref = new _test_utils.XRefMock([{
82
- ref: ref,
83
- data: 'quux'
84
- }]);
85
- var dict = new _primitives.Dict(xref);
86
- dict.set('foo', 'bar');
87
- expect((0, _util.getInheritableProperty)({
88
- dict: dict,
89
- key: 'foo'
90
- })).toEqual('bar');
91
- dict.set('baz', ['qux', ref]);
92
- expect((0, _util.getInheritableProperty)({
93
- dict: dict,
94
- key: 'baz',
95
- getArray: true
96
- })).toEqual(['qux', 'quux']);
97
- });
98
- it('fetches the property if it is inherited and present on one level', function () {
99
- var ref = new _primitives.Ref(10, 0);
100
- var xref = new _test_utils.XRefMock([{
101
- ref: ref,
102
- data: 'quux'
103
- }]);
104
- var firstDict = new _primitives.Dict(xref);
105
- var secondDict = new _primitives.Dict(xref);
106
- firstDict.set('Parent', secondDict);
107
- secondDict.set('foo', 'bar');
108
- expect((0, _util.getInheritableProperty)({
109
- dict: firstDict,
110
- key: 'foo'
111
- })).toEqual('bar');
112
- secondDict.set('baz', ['qux', ref]);
113
- expect((0, _util.getInheritableProperty)({
114
- dict: firstDict,
115
- key: 'baz',
116
- getArray: true
117
- })).toEqual(['qux', 'quux']);
118
- });
119
- it('fetches the property if it is inherited and present on multiple levels', function () {
120
- var ref = new _primitives.Ref(10, 0);
121
- var xref = new _test_utils.XRefMock([{
122
- ref: ref,
123
- data: 'quux'
124
- }]);
125
- var firstDict = new _primitives.Dict(xref);
126
- var secondDict = new _primitives.Dict(xref);
127
- firstDict.set('Parent', secondDict);
128
- firstDict.set('foo', 'bar1');
129
- secondDict.set('foo', 'bar2');
130
- expect((0, _util.getInheritableProperty)({
131
- dict: firstDict,
132
- key: 'foo'
133
- })).toEqual('bar1');
134
- expect((0, _util.getInheritableProperty)({
135
- dict: firstDict,
136
- key: 'foo',
137
- getArray: false,
138
- stopWhenFound: false
139
- })).toEqual(['bar1', 'bar2']);
140
- firstDict.set('baz', ['qux1', ref]);
141
- secondDict.set('baz', ['qux2', ref]);
142
- expect((0, _util.getInheritableProperty)({
143
- dict: firstDict,
144
- key: 'baz',
145
- getArray: true,
146
- stopWhenFound: false
147
- })).toEqual([['qux1', 'quux'], ['qux2', 'quux']]);
148
- });
149
- it('stops searching when the loop limit is reached', function () {
150
- var dict = new _primitives.Dict();
151
- var currentDict = dict;
152
- var parentDict = null;
153
-
154
- for (var i = 0; i < 150; i++) {
155
- parentDict = new _primitives.Dict();
156
- currentDict.set('Parent', parentDict);
157
- currentDict = parentDict;
158
- }
159
-
160
- parentDict.set('foo', 'bar');
161
- expect((0, _util.getInheritableProperty)({
162
- dict: dict,
163
- key: 'foo'
164
- })).toEqual(undefined);
165
- dict.set('foo', 'baz');
166
- expect((0, _util.getInheritableProperty)({
167
- dict: dict,
168
- key: 'foo',
169
- getArray: false,
170
- stopWhenFound: false
171
- })).toEqual(['baz']);
172
- });
173
- });
174
- describe('isArrayBuffer', function () {
175
- it('handles array buffer values', function () {
49
+ describe("isArrayBuffer", function () {
50
+ it("handles array buffer values", function () {
176
51
  expect((0, _util.isArrayBuffer)(new ArrayBuffer(0))).toEqual(true);
177
52
  expect((0, _util.isArrayBuffer)(new Uint8Array(0))).toEqual(true);
178
53
  });
179
- it('handles non-array buffer values', function () {
180
- expect((0, _util.isArrayBuffer)('true')).toEqual(false);
54
+ it("handles non-array buffer values", function () {
55
+ expect((0, _util.isArrayBuffer)("true")).toEqual(false);
181
56
  expect((0, _util.isArrayBuffer)(1)).toEqual(false);
182
57
  expect((0, _util.isArrayBuffer)(null)).toEqual(false);
183
58
  expect((0, _util.isArrayBuffer)(undefined)).toEqual(false);
184
59
  });
185
60
  });
186
- describe('isBool', function () {
187
- it('handles boolean values', function () {
61
+ describe("isBool", function () {
62
+ it("handles boolean values", function () {
188
63
  expect((0, _util.isBool)(true)).toEqual(true);
189
64
  expect((0, _util.isBool)(false)).toEqual(true);
190
65
  });
191
- it('handles non-boolean values', function () {
192
- expect((0, _util.isBool)('true')).toEqual(false);
193
- expect((0, _util.isBool)('false')).toEqual(false);
66
+ it("handles non-boolean values", function () {
67
+ expect((0, _util.isBool)("true")).toEqual(false);
68
+ expect((0, _util.isBool)("false")).toEqual(false);
194
69
  expect((0, _util.isBool)(1)).toEqual(false);
195
70
  expect((0, _util.isBool)(0)).toEqual(false);
196
71
  expect((0, _util.isBool)(null)).toEqual(false);
197
72
  expect((0, _util.isBool)(undefined)).toEqual(false);
198
73
  });
199
74
  });
200
- describe('isEmptyObj', function () {
201
- it('handles empty objects', function () {
75
+ describe("isEmptyObj", function () {
76
+ it("handles empty objects", function () {
202
77
  expect((0, _util.isEmptyObj)({})).toEqual(true);
203
78
  });
204
- it('handles non-empty objects', function () {
79
+ it("handles non-empty objects", function () {
205
80
  expect((0, _util.isEmptyObj)({
206
- foo: 'bar'
81
+ foo: "bar"
207
82
  })).toEqual(false);
208
83
  });
209
84
  });
210
- describe('isNum', function () {
211
- it('handles numeric values', function () {
85
+ describe("isNum", function () {
86
+ it("handles numeric values", function () {
212
87
  expect((0, _util.isNum)(1)).toEqual(true);
213
88
  expect((0, _util.isNum)(0)).toEqual(true);
214
89
  expect((0, _util.isNum)(-1)).toEqual(true);
215
90
  expect((0, _util.isNum)(1000000000000000000)).toEqual(true);
216
91
  expect((0, _util.isNum)(12.34)).toEqual(true);
217
92
  });
218
- it('handles non-numeric values', function () {
219
- expect((0, _util.isNum)('true')).toEqual(false);
93
+ it("handles non-numeric values", function () {
94
+ expect((0, _util.isNum)("true")).toEqual(false);
220
95
  expect((0, _util.isNum)(true)).toEqual(false);
221
96
  expect((0, _util.isNum)(null)).toEqual(false);
222
97
  expect((0, _util.isNum)(undefined)).toEqual(false);
223
98
  });
224
99
  });
225
- describe('isSpace', function () {
226
- it('handles space characters', function () {
227
- expect((0, _util.isSpace)(0x20)).toEqual(true);
228
- expect((0, _util.isSpace)(0x09)).toEqual(true);
229
- expect((0, _util.isSpace)(0x0D)).toEqual(true);
230
- expect((0, _util.isSpace)(0x0A)).toEqual(true);
231
- });
232
- it('handles non-space characters', function () {
233
- expect((0, _util.isSpace)(0x0B)).toEqual(false);
234
- expect((0, _util.isSpace)(null)).toEqual(false);
235
- expect((0, _util.isSpace)(undefined)).toEqual(false);
236
- });
237
- });
238
- describe('isString', function () {
239
- it('handles string values', function () {
240
- expect((0, _util.isString)('foo')).toEqual(true);
241
- expect((0, _util.isString)('')).toEqual(true);
100
+ describe("isString", function () {
101
+ it("handles string values", function () {
102
+ expect((0, _util.isString)("foo")).toEqual(true);
103
+ expect((0, _util.isString)("")).toEqual(true);
242
104
  });
243
- it('handles non-string values', function () {
105
+ it("handles non-string values", function () {
244
106
  expect((0, _util.isString)(true)).toEqual(false);
245
107
  expect((0, _util.isString)(1)).toEqual(false);
246
108
  expect((0, _util.isString)(null)).toEqual(false);
247
109
  expect((0, _util.isString)(undefined)).toEqual(false);
248
110
  });
249
111
  });
250
- describe('log2', function () {
251
- it('handles values smaller than/equal to zero', function () {
252
- expect((0, _util.log2)(0)).toEqual(0);
253
- expect((0, _util.log2)(-1)).toEqual(0);
254
- });
255
- it('handles values larger than zero', function () {
256
- expect((0, _util.log2)(1)).toEqual(0);
257
- expect((0, _util.log2)(2)).toEqual(1);
258
- expect((0, _util.log2)(3)).toEqual(2);
259
- expect((0, _util.log2)(3.14)).toEqual(2);
260
- });
261
- });
262
- describe('string32', function () {
263
- it('converts unsigned 32-bit integers to strings', function () {
264
- expect((0, _util.string32)(0x74727565)).toEqual('true');
265
- expect((0, _util.string32)(0x74797031)).toEqual('typ1');
266
- expect((0, _util.string32)(0x4F54544F)).toEqual('OTTO');
112
+ describe("string32", function () {
113
+ it("converts unsigned 32-bit integers to strings", function () {
114
+ expect((0, _util.string32)(0x74727565)).toEqual("true");
115
+ expect((0, _util.string32)(0x74797031)).toEqual("typ1");
116
+ expect((0, _util.string32)(0x4f54544f)).toEqual("OTTO");
267
117
  });
268
118
  });
269
- describe('stringToBytes', function () {
270
- it('handles non-string arguments', function () {
119
+ describe("stringToBytes", function () {
120
+ it("handles non-string arguments", function () {
271
121
  expect(function () {
272
122
  (0, _util.stringToBytes)(null);
273
- }).toThrow(new Error('Invalid argument for stringToBytes'));
123
+ }).toThrow(new Error("Invalid argument for stringToBytes"));
274
124
  });
275
- it('handles string arguments', function () {
276
- expect((0, _util.stringToBytes)('')).toEqual(new Uint8Array([]));
277
- expect((0, _util.stringToBytes)('foo')).toEqual(new Uint8Array([102, 111, 111]));
125
+ it("handles string arguments", function () {
126
+ expect((0, _util.stringToBytes)("")).toEqual(new Uint8Array([]));
127
+ expect((0, _util.stringToBytes)("foo")).toEqual(new Uint8Array([102, 111, 111]));
278
128
  });
279
129
  });
280
- describe('stringToPDFString', function () {
281
- it('handles ISO Latin 1 strings', function () {
282
- var str = '\x8Dstring\x8E';
130
+ describe("stringToPDFString", function () {
131
+ it("handles ISO Latin 1 strings", function () {
132
+ const str = "\x8Dstring\x8E";
283
133
  expect((0, _util.stringToPDFString)(str)).toEqual("\u201Cstring\u201D");
284
134
  });
285
- it('handles UTF-16BE strings', function () {
286
- var str = '\xFE\xFF\x00\x73\x00\x74\x00\x72\x00\x69\x00\x6E\x00\x67';
287
- expect((0, _util.stringToPDFString)(str)).toEqual('string');
135
+ it("handles UTF-16 big-endian strings", function () {
136
+ const str = "\xFE\xFF\x00\x73\x00\x74\x00\x72\x00\x69\x00\x6E\x00\x67";
137
+ expect((0, _util.stringToPDFString)(str)).toEqual("string");
288
138
  });
289
- it('handles empty strings', function () {
290
- var str1 = '';
291
- expect((0, _util.stringToPDFString)(str1)).toEqual('');
292
- var str2 = '\xFE\xFF';
293
- expect((0, _util.stringToPDFString)(str2)).toEqual('');
294
- });
295
- });
296
- describe('removeNullCharacters', function () {
297
- it('should not modify string without null characters', function () {
298
- var str = 'string without null chars';
299
- expect((0, _util.removeNullCharacters)(str)).toEqual('string without null chars');
139
+ it("handles UTF-16 little-endian strings", function () {
140
+ const str = "\xFF\xFE\x73\x00\x74\x00\x72\x00\x69\x00\x6E\x00\x67\x00";
141
+ expect((0, _util.stringToPDFString)(str)).toEqual("string");
300
142
  });
301
- it('should modify string with null characters', function () {
302
- var str = 'string\x00With\x00Null\x00Chars';
303
- expect((0, _util.removeNullCharacters)(str)).toEqual('stringWithNullChars');
143
+ it("handles empty strings", function () {
144
+ const str1 = "";
145
+ expect((0, _util.stringToPDFString)(str1)).toEqual("");
146
+ const str2 = "\xFE\xFF";
147
+ expect((0, _util.stringToPDFString)(str2)).toEqual("");
148
+ const str3 = "\xFF\xFE";
149
+ expect((0, _util.stringToPDFString)(str3)).toEqual("");
304
150
  });
305
151
  });
306
- describe('ReadableStream', function () {
307
- it('should return an Object', function () {
308
- var readable = new _util.ReadableStream();
309
- expect(_typeof(readable)).toEqual('object');
152
+ describe("removeNullCharacters", function () {
153
+ it("should not modify string without null characters", function () {
154
+ const str = "string without null chars";
155
+ expect((0, _util.removeNullCharacters)(str)).toEqual("string without null chars");
310
156
  });
311
- it('should have property getReader', function () {
312
- var readable = new _util.ReadableStream();
313
- expect(_typeof(readable.getReader)).toEqual('function');
157
+ it("should modify string with null characters", function () {
158
+ const str = "string\x00With\x00Null\x00Chars";
159
+ expect((0, _util.removeNullCharacters)(str)).toEqual("stringWithNullChars");
314
160
  });
315
161
  });
316
- describe('toRomanNumerals', function () {
317
- it('handles invalid arguments', function () {
318
- var _arr = ['foo', -1, 0];
319
-
320
- var _loop = function _loop() {
321
- var input = _arr[_i];
322
- expect(function () {
323
- (0, _util.toRomanNumerals)(input);
324
- }).toThrow(new Error('The number should be a positive integer.'));
325
- };
326
-
327
- for (var _i = 0; _i < _arr.length; _i++) {
328
- _loop();
329
- }
162
+ describe("ReadableStream", function () {
163
+ it("should return an Object", function () {
164
+ const readable = new ReadableStream();
165
+ expect(typeof readable).toEqual("object");
330
166
  });
331
- it('converts numbers to uppercase Roman numerals', function () {
332
- expect((0, _util.toRomanNumerals)(1)).toEqual('I');
333
- expect((0, _util.toRomanNumerals)(6)).toEqual('VI');
334
- expect((0, _util.toRomanNumerals)(7)).toEqual('VII');
335
- expect((0, _util.toRomanNumerals)(8)).toEqual('VIII');
336
- expect((0, _util.toRomanNumerals)(10)).toEqual('X');
337
- expect((0, _util.toRomanNumerals)(40)).toEqual('XL');
338
- expect((0, _util.toRomanNumerals)(100)).toEqual('C');
339
- expect((0, _util.toRomanNumerals)(500)).toEqual('D');
340
- expect((0, _util.toRomanNumerals)(1000)).toEqual('M');
341
- expect((0, _util.toRomanNumerals)(2019)).toEqual('MMXIX');
342
- });
343
- it('converts numbers to lowercase Roman numerals', function () {
344
- expect((0, _util.toRomanNumerals)(1, true)).toEqual('i');
345
- expect((0, _util.toRomanNumerals)(6, true)).toEqual('vi');
346
- expect((0, _util.toRomanNumerals)(7, true)).toEqual('vii');
347
- expect((0, _util.toRomanNumerals)(8, true)).toEqual('viii');
348
- expect((0, _util.toRomanNumerals)(10, true)).toEqual('x');
349
- expect((0, _util.toRomanNumerals)(40, true)).toEqual('xl');
350
- expect((0, _util.toRomanNumerals)(100, true)).toEqual('c');
351
- expect((0, _util.toRomanNumerals)(500, true)).toEqual('d');
352
- expect((0, _util.toRomanNumerals)(1000, true)).toEqual('m');
353
- expect((0, _util.toRomanNumerals)(2019, true)).toEqual('mmxix');
167
+ it("should have property getReader", function () {
168
+ const readable = new ReadableStream();
169
+ expect(typeof readable.getReader).toEqual("function");
354
170
  });
355
171
  });
356
- describe('URL', function () {
357
- it('should return an Object', function () {
358
- var url = new _util.URL('https://example.com');
359
- expect(_typeof(url)).toEqual('object');
172
+ describe("URL", function () {
173
+ it("should return an Object", function () {
174
+ const url = new URL("https://example.com");
175
+ expect(typeof url).toEqual("object");
360
176
  });
361
- it('should have property `href`', function () {
362
- var url = new _util.URL('https://example.com');
363
- expect(_typeof(url.href)).toEqual('string');
177
+ it("should have property `href`", function () {
178
+ const url = new URL("https://example.com");
179
+ expect(typeof url.href).toEqual("string");
364
180
  });
365
181
  });
366
- describe('isSameOrigin', function () {
367
- it('handles invalid base URLs', function () {
368
- expect((0, _util.isSameOrigin)('/foo', '/bar')).toEqual(false);
369
- expect((0, _util.isSameOrigin)('blob:foo', '/bar')).toEqual(false);
182
+ describe("isSameOrigin", function () {
183
+ it("handles invalid base URLs", function () {
184
+ expect((0, _util.isSameOrigin)("/foo", "/bar")).toEqual(false);
185
+ expect((0, _util.isSameOrigin)("blob:foo", "/bar")).toEqual(false);
370
186
  });
371
- it('correctly checks if the origin of both URLs matches', function () {
372
- expect((0, _util.isSameOrigin)('https://www.mozilla.org/foo', 'https://www.mozilla.org/bar')).toEqual(true);
373
- expect((0, _util.isSameOrigin)('https://www.mozilla.org/foo', 'https://www.example.com/bar')).toEqual(false);
187
+ it("correctly checks if the origin of both URLs matches", function () {
188
+ expect((0, _util.isSameOrigin)("https://www.mozilla.org/foo", "https://www.mozilla.org/bar")).toEqual(true);
189
+ expect((0, _util.isSameOrigin)("https://www.mozilla.org/foo", "https://www.example.com/bar")).toEqual(false);
374
190
  });
375
191
  });
376
- describe('createValidAbsoluteUrl', function () {
377
- it('handles invalid URLs', function () {
192
+ describe("createValidAbsoluteUrl", function () {
193
+ it("handles invalid URLs", function () {
378
194
  expect((0, _util.createValidAbsoluteUrl)(undefined, undefined)).toEqual(null);
379
195
  expect((0, _util.createValidAbsoluteUrl)(null, null)).toEqual(null);
380
- expect((0, _util.createValidAbsoluteUrl)('/foo', '/bar')).toEqual(null);
381
- });
382
- it('handles URLs that do not use a whitelisted protocol', function () {
383
- expect((0, _util.createValidAbsoluteUrl)('magnet:?foo', null)).toEqual(null);
384
- });
385
- it('correctly creates a valid URL for whitelisted protocols', function () {
386
- expect((0, _util.createValidAbsoluteUrl)('http://www.mozilla.org/foo', null)).toEqual(new _util.URL('http://www.mozilla.org/foo'));
387
- expect((0, _util.createValidAbsoluteUrl)('/foo', 'http://www.mozilla.org')).toEqual(new _util.URL('http://www.mozilla.org/foo'));
388
- expect((0, _util.createValidAbsoluteUrl)('https://www.mozilla.org/foo', null)).toEqual(new _util.URL('https://www.mozilla.org/foo'));
389
- expect((0, _util.createValidAbsoluteUrl)('/foo', 'https://www.mozilla.org')).toEqual(new _util.URL('https://www.mozilla.org/foo'));
390
- expect((0, _util.createValidAbsoluteUrl)('ftp://www.mozilla.org/foo', null)).toEqual(new _util.URL('ftp://www.mozilla.org/foo'));
391
- expect((0, _util.createValidAbsoluteUrl)('/foo', 'ftp://www.mozilla.org')).toEqual(new _util.URL('ftp://www.mozilla.org/foo'));
392
- expect((0, _util.createValidAbsoluteUrl)('mailto:foo@bar.baz', null)).toEqual(new _util.URL('mailto:foo@bar.baz'));
393
- expect((0, _util.createValidAbsoluteUrl)('/foo', 'mailto:foo@bar.baz')).toEqual(null);
394
- expect((0, _util.createValidAbsoluteUrl)('tel:+0123456789', null)).toEqual(new _util.URL('tel:+0123456789'));
395
- expect((0, _util.createValidAbsoluteUrl)('/foo', 'tel:0123456789')).toEqual(null);
396
- });
397
- });
398
- describe('createPromiseCapability', function () {
399
- it('should resolve with correct data', function (done) {
400
- var promiseCapability = (0, _util.createPromiseCapability)();
196
+ expect((0, _util.createValidAbsoluteUrl)("/foo", "/bar")).toEqual(null);
197
+ });
198
+ it("handles URLs that do not use a whitelisted protocol", function () {
199
+ expect((0, _util.createValidAbsoluteUrl)("magnet:?foo", null)).toEqual(null);
200
+ });
201
+ it("correctly creates a valid URL for whitelisted protocols", function () {
202
+ expect((0, _util.createValidAbsoluteUrl)("http://www.mozilla.org/foo", null)).toEqual(new URL("http://www.mozilla.org/foo"));
203
+ expect((0, _util.createValidAbsoluteUrl)("/foo", "http://www.mozilla.org")).toEqual(new URL("http://www.mozilla.org/foo"));
204
+ expect((0, _util.createValidAbsoluteUrl)("https://www.mozilla.org/foo", null)).toEqual(new URL("https://www.mozilla.org/foo"));
205
+ expect((0, _util.createValidAbsoluteUrl)("/foo", "https://www.mozilla.org")).toEqual(new URL("https://www.mozilla.org/foo"));
206
+ expect((0, _util.createValidAbsoluteUrl)("ftp://www.mozilla.org/foo", null)).toEqual(new URL("ftp://www.mozilla.org/foo"));
207
+ expect((0, _util.createValidAbsoluteUrl)("/foo", "ftp://www.mozilla.org")).toEqual(new URL("ftp://www.mozilla.org/foo"));
208
+ expect((0, _util.createValidAbsoluteUrl)("mailto:foo@bar.baz", null)).toEqual(new URL("mailto:foo@bar.baz"));
209
+ expect((0, _util.createValidAbsoluteUrl)("/foo", "mailto:foo@bar.baz")).toEqual(null);
210
+ expect((0, _util.createValidAbsoluteUrl)("tel:+0123456789", null)).toEqual(new URL("tel:+0123456789"));
211
+ expect((0, _util.createValidAbsoluteUrl)("/foo", "tel:0123456789")).toEqual(null);
212
+ });
213
+ });
214
+ describe("createPromiseCapability", function () {
215
+ it("should resolve with correct data", function (done) {
216
+ const promiseCapability = (0, _util.createPromiseCapability)();
401
217
  expect(promiseCapability.settled).toEqual(false);
402
218
  promiseCapability.resolve({
403
- test: 'abc'
219
+ test: "abc"
404
220
  });
405
221
  promiseCapability.promise.then(function (data) {
406
222
  expect(promiseCapability.settled).toEqual(true);
407
223
  expect(data).toEqual({
408
- test: 'abc'
224
+ test: "abc"
409
225
  });
410
226
  done();
411
227
  }, done.fail);
412
228
  });
413
- it('should reject with correct reason', function (done) {
414
- var promiseCapability = (0, _util.createPromiseCapability)();
229
+ it("should reject with correct reason", function (done) {
230
+ const promiseCapability = (0, _util.createPromiseCapability)();
415
231
  expect(promiseCapability.settled).toEqual(false);
416
- promiseCapability.reject(new Error('reason'));
232
+ promiseCapability.reject(new Error("reason"));
417
233
  promiseCapability.promise.then(done.fail, function (reason) {
418
234
  expect(promiseCapability.settled).toEqual(true);
419
235
  expect(reason instanceof Error).toEqual(true);
420
- expect(reason.message).toEqual('reason');
236
+ expect(reason.message).toEqual("reason");
421
237
  done();
422
238
  });
423
239
  });