pdfjs-dist 2.0.943 → 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.

Files changed (192) 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 +8286 -14230
  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 +25500 -26628
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25473 -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 +57878 -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 +407 -0
  29. package/es5/web/pdf_viewer.js +7757 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +2887 -4094
  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 +855 -778
  36. package/lib/core/arithmetic_decoder.js +325 -311
  37. package/lib/core/bidi.js +117 -50
  38. package/lib/core/ccitt.js +251 -89
  39. package/lib/core/ccitt_stream.js +26 -16
  40. package/lib/core/cff_parser.js +525 -197
  41. package/lib/core/charsets.js +6 -5
  42. package/lib/core/chunked_stream.js +541 -406
  43. package/lib/core/cmap.js +368 -253
  44. package/lib/core/colorspace.js +781 -800
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +609 -422
  47. package/lib/core/document.js +649 -481
  48. package/lib/core/encodings.js +33 -24
  49. package/lib/core/evaluator.js +1471 -736
  50. package/lib/core/font_renderer.js +289 -149
  51. package/lib/core/fonts.js +1067 -413
  52. package/lib/core/function.js +517 -287
  53. package/lib/core/glyphlist.js +4529 -4527
  54. package/lib/core/image.js +232 -114
  55. package/lib/core/image_utils.js +94 -0
  56. package/lib/core/jbig2.js +711 -342
  57. package/lib/core/jbig2_stream.js +31 -19
  58. package/lib/core/jpeg_stream.js +151 -26
  59. package/lib/core/jpg.js +433 -181
  60. package/lib/core/jpx.js +551 -143
  61. package/lib/core/jpx_stream.js +40 -28
  62. package/lib/core/metrics.js +2931 -2931
  63. package/lib/core/murmurhash3.js +104 -97
  64. package/lib/core/obj.js +1561 -1053
  65. package/lib/core/operator_list.js +192 -64
  66. package/lib/core/parser.js +1162 -864
  67. package/lib/core/pattern.js +224 -75
  68. package/lib/core/pdf_manager.js +154 -285
  69. package/lib/core/primitives.js +145 -69
  70. package/lib/core/ps_parser.js +212 -162
  71. package/lib/core/standard_fonts.js +245 -244
  72. package/lib/core/stream.js +353 -81
  73. package/lib/core/type1_parser.js +218 -68
  74. package/lib/core/unicode.js +1682 -1655
  75. package/lib/core/worker.js +233 -302
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +808 -862
  78. package/lib/display/api.js +1778 -1462
  79. package/lib/display/api_compatibility.js +14 -9
  80. package/lib/display/canvas.js +463 -140
  81. package/lib/display/content_disposition.js +86 -58
  82. package/lib/display/display_utils.js +524 -0
  83. package/lib/display/fetch_stream.js +202 -274
  84. package/lib/display/font_loader.js +311 -333
  85. package/lib/display/metadata.js +98 -88
  86. package/lib/display/network.js +343 -347
  87. package/lib/display/network_utils.js +46 -26
  88. package/lib/display/node_stream.js +326 -404
  89. package/lib/display/pattern_helper.js +168 -69
  90. package/lib/display/svg.js +1296 -885
  91. package/lib/display/text_layer.js +229 -103
  92. package/lib/display/transport_stream.js +290 -250
  93. package/lib/display/webgl.js +116 -83
  94. package/lib/display/worker_options.js +6 -5
  95. package/lib/display/xml_parser.js +358 -337
  96. package/lib/examples/node/domstubs.js +95 -39
  97. package/lib/pdf.js +49 -31
  98. package/lib/pdf.worker.js +7 -5
  99. package/lib/shared/compatibility.js +3 -145
  100. package/lib/shared/is_node.js +8 -7
  101. package/lib/shared/message_handler.js +367 -314
  102. package/lib/shared/util.js +421 -415
  103. package/lib/test/unit/annotation_spec.js +1570 -690
  104. package/lib/test/unit/api_spec.js +855 -493
  105. package/lib/test/unit/bidi_spec.js +12 -12
  106. package/lib/test/unit/cff_parser_spec.js +88 -61
  107. package/lib/test/unit/clitests_helper.js +9 -12
  108. package/lib/test/unit/cmap_spec.js +140 -88
  109. package/lib/test/unit/colorspace_spec.js +204 -152
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +194 -182
  112. package/lib/test/unit/custom_spec.js +50 -64
  113. package/lib/test/unit/display_svg_spec.js +53 -38
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +17 -22
  116. package/lib/test/unit/encodings_spec.js +15 -57
  117. package/lib/test/unit/evaluator_spec.js +90 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +219 -205
  120. package/lib/test/unit/jasmine-boot.js +68 -39
  121. package/lib/test/unit/message_handler_spec.js +187 -160
  122. package/lib/test/unit/metadata_spec.js +87 -34
  123. package/lib/test/unit/murmurhash3_spec.js +13 -13
  124. package/lib/test/unit/network_spec.js +26 -59
  125. package/lib/test/unit/network_utils_spec.js +187 -121
  126. package/lib/test/unit/node_stream_spec.js +98 -90
  127. package/lib/test/unit/parser_spec.js +173 -131
  128. package/lib/test/unit/pdf_find_controller_spec.js +148 -67
  129. package/lib/test/unit/pdf_find_utils_spec.js +35 -34
  130. package/lib/test/unit/pdf_history_spec.js +45 -33
  131. package/lib/test/unit/primitives_spec.js +161 -126
  132. package/lib/test/unit/stream_spec.js +22 -15
  133. package/lib/test/unit/test_utils.js +149 -98
  134. package/lib/test/unit/testreporter.js +36 -18
  135. package/lib/test/unit/type1_parser_spec.js +46 -44
  136. package/lib/test/unit/ui_utils_spec.js +388 -372
  137. package/lib/test/unit/unicode_spec.js +49 -46
  138. package/lib/test/unit/util_spec.js +144 -248
  139. package/lib/web/annotation_layer_builder.js +75 -95
  140. package/lib/web/app.js +1538 -1147
  141. package/lib/web/app_options.js +116 -104
  142. package/lib/web/base_viewer.js +950 -775
  143. package/lib/web/chromecom.js +217 -225
  144. package/lib/web/debugger.js +236 -148
  145. package/lib/web/download_manager.js +50 -50
  146. package/lib/web/firefox_print_service.js +51 -33
  147. package/lib/web/firefoxcom.js +225 -352
  148. package/lib/web/genericcom.js +30 -93
  149. package/lib/web/genericl10n.js +26 -143
  150. package/lib/web/grab_to_pan.js +57 -33
  151. package/lib/web/interfaces.js +105 -232
  152. package/lib/web/overlay_manager.js +73 -227
  153. package/lib/web/password_prompt.js +44 -62
  154. package/lib/web/pdf_attachment_viewer.js +118 -123
  155. package/lib/web/pdf_cursor_tools.js +89 -93
  156. package/lib/web/pdf_document_properties.js +242 -281
  157. package/lib/web/pdf_find_bar.js +157 -163
  158. package/lib/web/pdf_find_controller.js +598 -454
  159. package/lib/web/pdf_find_utils.js +32 -16
  160. package/lib/web/pdf_history.js +481 -355
  161. package/lib/web/pdf_link_service.js +355 -323
  162. package/lib/web/pdf_outline_viewer.js +167 -152
  163. package/lib/web/pdf_page_view.js +511 -457
  164. package/lib/web/pdf_presentation_mode.js +347 -335
  165. package/lib/web/pdf_print_service.js +133 -103
  166. package/lib/web/pdf_rendering_queue.js +98 -100
  167. package/lib/web/pdf_sidebar.js +323 -299
  168. package/lib/web/pdf_sidebar_resizer.js +107 -108
  169. package/lib/web/pdf_single_page_viewer.js +94 -146
  170. package/lib/web/pdf_thumbnail_view.js +319 -269
  171. package/lib/web/pdf_thumbnail_viewer.js +219 -199
  172. package/lib/web/pdf_viewer.component.js +111 -32
  173. package/lib/web/pdf_viewer.js +61 -101
  174. package/lib/web/preferences.js +87 -272
  175. package/lib/web/secondary_toolbar.js +207 -220
  176. package/lib/web/text_layer_builder.js +322 -322
  177. package/lib/web/toolbar.js +227 -180
  178. package/lib/web/ui_utils.js +476 -421
  179. package/lib/web/view_history.js +59 -208
  180. package/lib/web/viewer_compatibility.js +9 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +36 -22
  183. package/web/pdf_viewer.js +4407 -4516
  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 -441
  189. package/lib/shared/streams_polyfill.js +0 -39
  190. package/lib/shared/url_polyfill.js +0 -50
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
  192. package/lib/web/dom_events.js +0 -140
@@ -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.
@@ -19,27 +19,31 @@
19
19
  * @licend The above is the entire license notice for the
20
20
  * Javascript code in this page
21
21
  */
22
- 'use strict';
22
+ "use strict";
23
23
 
24
- var _network_utils = require('../../display/network_utils');
24
+ var _network_utils = require("../../display/network_utils.js");
25
25
 
26
- var _util = require('../../shared/util');
26
+ var _util = require("../../shared/util.js");
27
27
 
28
- describe('network_utils', function () {
29
- describe('validateRangeRequestCapabilities', function () {
30
- it('rejects range chunk sizes that are not larger than zero', function () {
28
+ describe("network_utils", function () {
29
+ describe("validateRangeRequestCapabilities", function () {
30
+ it("rejects range chunk sizes that are not larger than zero", function () {
31
31
  expect(function () {
32
- (0, _network_utils.validateRangeRequestCapabilities)({ rangeChunkSize: 0 });
33
- }).toThrow(new Error('Range chunk size must be larger than zero'));
32
+ (0, _network_utils.validateRangeRequestCapabilities)({
33
+ rangeChunkSize: 0
34
+ });
35
+ }).toThrow(new Error("Range chunk size must be larger than zero"));
34
36
  });
35
- it('rejects disabled or non-HTTP range requests', function () {
37
+ it("rejects disabled or non-HTTP range requests", function () {
36
38
  expect((0, _network_utils.validateRangeRequestCapabilities)({
37
39
  disableRange: true,
38
40
  isHttp: true,
39
- getResponseHeader: function getResponseHeader(headerName) {
40
- if (headerName === 'Content-Length') {
41
+ getResponseHeader: headerName => {
42
+ if (headerName === "Content-Length") {
41
43
  return 8;
42
44
  }
45
+
46
+ throw new Error(`Unexpected headerName: ${headerName}`);
43
47
  },
44
48
  rangeChunkSize: 64
45
49
  })).toEqual({
@@ -49,10 +53,12 @@ describe('network_utils', function () {
49
53
  expect((0, _network_utils.validateRangeRequestCapabilities)({
50
54
  disableRange: false,
51
55
  isHttp: false,
52
- getResponseHeader: function getResponseHeader(headerName) {
53
- if (headerName === 'Content-Length') {
56
+ getResponseHeader: headerName => {
57
+ if (headerName === "Content-Length") {
54
58
  return 8;
55
59
  }
60
+
61
+ throw new Error(`Unexpected headerName: ${headerName}`);
56
62
  },
57
63
  rangeChunkSize: 64
58
64
  })).toEqual({
@@ -60,16 +66,18 @@ describe('network_utils', function () {
60
66
  suggestedLength: 8
61
67
  });
62
68
  });
63
- it('rejects invalid Accept-Ranges header values', function () {
69
+ it("rejects invalid Accept-Ranges header values", function () {
64
70
  expect((0, _network_utils.validateRangeRequestCapabilities)({
65
71
  disableRange: false,
66
72
  isHttp: true,
67
- getResponseHeader: function getResponseHeader(headerName) {
68
- if (headerName === 'Accept-Ranges') {
69
- return 'none';
70
- } else if (headerName === 'Content-Length') {
73
+ getResponseHeader: headerName => {
74
+ if (headerName === "Accept-Ranges") {
75
+ return "none";
76
+ } else if (headerName === "Content-Length") {
71
77
  return 8;
72
78
  }
79
+
80
+ throw new Error(`Unexpected headerName: ${headerName}`);
73
81
  },
74
82
  rangeChunkSize: 64
75
83
  })).toEqual({
@@ -77,18 +85,20 @@ describe('network_utils', function () {
77
85
  suggestedLength: 8
78
86
  });
79
87
  });
80
- it('rejects invalid Content-Encoding header values', function () {
88
+ it("rejects invalid Content-Encoding header values", function () {
81
89
  expect((0, _network_utils.validateRangeRequestCapabilities)({
82
90
  disableRange: false,
83
91
  isHttp: true,
84
- getResponseHeader: function getResponseHeader(headerName) {
85
- if (headerName === 'Accept-Ranges') {
86
- return 'bytes';
87
- } else if (headerName === 'Content-Encoding') {
88
- return 'gzip';
89
- } else if (headerName === 'Content-Length') {
92
+ getResponseHeader: headerName => {
93
+ if (headerName === "Accept-Ranges") {
94
+ return "bytes";
95
+ } else if (headerName === "Content-Encoding") {
96
+ return "gzip";
97
+ } else if (headerName === "Content-Length") {
90
98
  return 8;
91
99
  }
100
+
101
+ throw new Error(`Unexpected headerName: ${headerName}`);
92
102
  },
93
103
  rangeChunkSize: 64
94
104
  })).toEqual({
@@ -96,18 +106,20 @@ describe('network_utils', function () {
96
106
  suggestedLength: 8
97
107
  });
98
108
  });
99
- it('rejects invalid Content-Length header values', function () {
109
+ it("rejects invalid Content-Length header values", function () {
100
110
  expect((0, _network_utils.validateRangeRequestCapabilities)({
101
111
  disableRange: false,
102
112
  isHttp: true,
103
- getResponseHeader: function getResponseHeader(headerName) {
104
- if (headerName === 'Accept-Ranges') {
105
- return 'bytes';
106
- } else if (headerName === 'Content-Encoding') {
113
+ getResponseHeader: headerName => {
114
+ if (headerName === "Accept-Ranges") {
115
+ return "bytes";
116
+ } else if (headerName === "Content-Encoding") {
107
117
  return null;
108
- } else if (headerName === 'Content-Length') {
109
- return 'eight';
118
+ } else if (headerName === "Content-Length") {
119
+ return "eight";
110
120
  }
121
+
122
+ throw new Error(`Unexpected headerName: ${headerName}`);
111
123
  },
112
124
  rangeChunkSize: 64
113
125
  })).toEqual({
@@ -115,18 +127,20 @@ describe('network_utils', function () {
115
127
  suggestedLength: undefined
116
128
  });
117
129
  });
118
- it('rejects file sizes that are too small for range requests', function () {
130
+ it("rejects file sizes that are too small for range requests", function () {
119
131
  expect((0, _network_utils.validateRangeRequestCapabilities)({
120
132
  disableRange: false,
121
133
  isHttp: true,
122
- getResponseHeader: function getResponseHeader(headerName) {
123
- if (headerName === 'Accept-Ranges') {
124
- return 'bytes';
125
- } else if (headerName === 'Content-Encoding') {
134
+ getResponseHeader: headerName => {
135
+ if (headerName === "Accept-Ranges") {
136
+ return "bytes";
137
+ } else if (headerName === "Content-Encoding") {
126
138
  return null;
127
- } else if (headerName === 'Content-Length') {
139
+ } else if (headerName === "Content-Length") {
128
140
  return 8;
129
141
  }
142
+
143
+ throw new Error(`Unexpected headerName: ${headerName}`);
130
144
  },
131
145
  rangeChunkSize: 64
132
146
  })).toEqual({
@@ -134,18 +148,20 @@ describe('network_utils', function () {
134
148
  suggestedLength: 8
135
149
  });
136
150
  });
137
- it('accepts file sizes large enough for range requests', function () {
151
+ it("accepts file sizes large enough for range requests", function () {
138
152
  expect((0, _network_utils.validateRangeRequestCapabilities)({
139
153
  disableRange: false,
140
154
  isHttp: true,
141
- getResponseHeader: function getResponseHeader(headerName) {
142
- if (headerName === 'Accept-Ranges') {
143
- return 'bytes';
144
- } else if (headerName === 'Content-Encoding') {
155
+ getResponseHeader: headerName => {
156
+ if (headerName === "Accept-Ranges") {
157
+ return "bytes";
158
+ } else if (headerName === "Content-Encoding") {
145
159
  return null;
146
- } else if (headerName === 'Content-Length') {
160
+ } else if (headerName === "Content-Length") {
147
161
  return 8192;
148
162
  }
163
+
164
+ throw new Error(`Unexpected headerName: ${headerName}`);
149
165
  },
150
166
  rangeChunkSize: 64
151
167
  })).toEqual({
@@ -154,126 +170,176 @@ describe('network_utils', function () {
154
170
  });
155
171
  });
156
172
  });
157
- describe('extractFilenameFromHeader', function () {
158
- it('returns null when content disposition header is blank', function () {
159
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
160
- if (headerName === 'Content-Disposition') {
173
+ describe("extractFilenameFromHeader", function () {
174
+ it("returns null when content disposition header is blank", function () {
175
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
176
+ if (headerName === "Content-Disposition") {
161
177
  return null;
162
178
  }
179
+
180
+ throw new Error(`Unexpected headerName: ${headerName}`);
163
181
  })).toBeNull();
164
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
165
- if (headerName === 'Content-Disposition') {
182
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
183
+ if (headerName === "Content-Disposition") {
166
184
  return undefined;
167
185
  }
186
+
187
+ throw new Error(`Unexpected headerName: ${headerName}`);
168
188
  })).toBeNull();
169
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
170
- if (headerName === 'Content-Disposition') {
171
- return '';
189
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
190
+ if (headerName === "Content-Disposition") {
191
+ return "";
172
192
  }
193
+
194
+ throw new Error(`Unexpected headerName: ${headerName}`);
173
195
  })).toBeNull();
174
196
  });
175
- it('gets the filename from the response header', function () {
176
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
177
- if (headerName === 'Content-Disposition') {
178
- return 'inline';
197
+ it("gets the filename from the response header", function () {
198
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
199
+ if (headerName === "Content-Disposition") {
200
+ return "inline";
179
201
  }
202
+
203
+ throw new Error(`Unexpected headerName: ${headerName}`);
180
204
  })).toBeNull();
181
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
182
- if (headerName === 'Content-Disposition') {
183
- return 'attachment';
205
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
206
+ if (headerName === "Content-Disposition") {
207
+ return "attachment";
184
208
  }
209
+
210
+ throw new Error(`Unexpected headerName: ${headerName}`);
185
211
  })).toBeNull();
186
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
187
- if (headerName === 'Content-Disposition') {
212
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
213
+ if (headerName === "Content-Disposition") {
188
214
  return 'attachment; filename="filename.pdf"';
189
215
  }
190
- })).toEqual('filename.pdf');
191
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
192
- if (headerName === 'Content-Disposition') {
216
+
217
+ throw new Error(`Unexpected headerName: ${headerName}`);
218
+ })).toEqual("filename.pdf");
219
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
220
+ if (headerName === "Content-Disposition") {
193
221
  return 'attachment; filename="filename.pdf and spaces.pdf"';
194
222
  }
195
- })).toEqual('filename.pdf and spaces.pdf');
196
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
197
- if (headerName === 'Content-Disposition') {
223
+
224
+ throw new Error(`Unexpected headerName: ${headerName}`);
225
+ })).toEqual("filename.pdf and spaces.pdf");
226
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
227
+ if (headerName === "Content-Disposition") {
198
228
  return 'attachment; filename="tl;dr.pdf"';
199
229
  }
200
- })).toEqual('tl;dr.pdf');
201
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
202
- if (headerName === 'Content-Disposition') {
203
- return 'attachment; filename=filename.pdf';
230
+
231
+ throw new Error(`Unexpected headerName: ${headerName}`);
232
+ })).toEqual("tl;dr.pdf");
233
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
234
+ if (headerName === "Content-Disposition") {
235
+ return "attachment; filename=filename.pdf";
204
236
  }
205
- })).toEqual('filename.pdf');
206
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
207
- if (headerName === 'Content-Disposition') {
208
- return 'attachment; filename=filename.pdf someotherparam';
237
+
238
+ throw new Error(`Unexpected headerName: ${headerName}`);
239
+ })).toEqual("filename.pdf");
240
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
241
+ if (headerName === "Content-Disposition") {
242
+ return "attachment; filename=filename.pdf someotherparam";
243
+ }
244
+
245
+ throw new Error(`Unexpected headerName: ${headerName}`);
246
+ })).toEqual("filename.pdf");
247
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
248
+ if (headerName === "Content-Disposition") {
249
+ return 'attachment; filename="%e4%b8%ad%e6%96%87.pdf"';
209
250
  }
210
- })).toEqual('filename.pdf');
251
+
252
+ throw new Error(`Unexpected headerName: ${headerName}`);
253
+ })).toEqual("中文.pdf");
254
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
255
+ if (headerName === "Content-Disposition") {
256
+ return 'attachment; filename="100%.pdf"';
257
+ }
258
+
259
+ throw new Error(`Unexpected headerName: ${headerName}`);
260
+ })).toEqual("100%.pdf");
211
261
  });
212
- it('gets the filename from the response header (RFC 6266)', function () {
213
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
214
- if (headerName === 'Content-Disposition') {
215
- return 'attachment; filename*=filename.pdf';
262
+ it("gets the filename from the response header (RFC 6266)", function () {
263
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
264
+ if (headerName === "Content-Disposition") {
265
+ return "attachment; filename*=filename.pdf";
216
266
  }
217
- })).toEqual('filename.pdf');
218
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
219
- if (headerName === 'Content-Disposition') {
220
- return 'attachment; filename*=\'\'filename.pdf';
267
+
268
+ throw new Error(`Unexpected headerName: ${headerName}`);
269
+ })).toEqual("filename.pdf");
270
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
271
+ if (headerName === "Content-Disposition") {
272
+ return "attachment; filename*=''filename.pdf";
221
273
  }
222
- })).toEqual('filename.pdf');
223
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
224
- if (headerName === 'Content-Disposition') {
225
- return 'attachment; filename*=utf-8\'\'filename.pdf';
274
+
275
+ throw new Error(`Unexpected headerName: ${headerName}`);
276
+ })).toEqual("filename.pdf");
277
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
278
+ if (headerName === "Content-Disposition") {
279
+ return "attachment; filename*=utf-8''filename.pdf";
226
280
  }
227
- })).toEqual('filename.pdf');
228
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
229
- if (headerName === 'Content-Disposition') {
230
- return 'attachment; filename=no.pdf; filename*=utf-8\'\'filename.pdf';
281
+
282
+ throw new Error(`Unexpected headerName: ${headerName}`);
283
+ })).toEqual("filename.pdf");
284
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
285
+ if (headerName === "Content-Disposition") {
286
+ return "attachment; filename=no.pdf; filename*=utf-8''filename.pdf";
231
287
  }
232
- })).toEqual('filename.pdf');
233
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
234
- if (headerName === 'Content-Disposition') {
235
- return 'attachment; filename*=utf-8\'\'filename.pdf; filename=no.pdf';
288
+
289
+ throw new Error(`Unexpected headerName: ${headerName}`);
290
+ })).toEqual("filename.pdf");
291
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
292
+ if (headerName === "Content-Disposition") {
293
+ return "attachment; filename*=utf-8''filename.pdf; filename=no.pdf";
236
294
  }
237
- })).toEqual('filename.pdf');
295
+
296
+ throw new Error(`Unexpected headerName: ${headerName}`);
297
+ })).toEqual("filename.pdf");
238
298
  });
239
- it('gets the filename from the response header (RFC 2231)', function () {
240
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
241
- if (headerName === 'Content-Disposition') {
242
- return 'attachment; filename*0=filename; filename*1=.pdf';
299
+ it("gets the filename from the response header (RFC 2231)", function () {
300
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
301
+ if (headerName === "Content-Disposition") {
302
+ return "attachment; filename*0=filename; filename*1=.pdf";
243
303
  }
244
- })).toEqual('filename.pdf');
304
+
305
+ throw new Error(`Unexpected headerName: ${headerName}`);
306
+ })).toEqual("filename.pdf");
245
307
  });
246
- it('only extracts filename with pdf extension', function () {
247
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
248
- if (headerName === 'Content-Disposition') {
308
+ it("only extracts filename with pdf extension", function () {
309
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
310
+ if (headerName === "Content-Disposition") {
249
311
  return 'attachment; filename="filename.png"';
250
312
  }
313
+
314
+ throw new Error(`Unexpected headerName: ${headerName}`);
251
315
  })).toBeNull();
252
316
  });
253
- it('extension validation is case insensitive', function () {
254
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
255
- if (headerName === 'Content-Disposition') {
317
+ it("extension validation is case insensitive", function () {
318
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
319
+ if (headerName === "Content-Disposition") {
256
320
  return 'form-data; name="fieldName"; filename="file.PdF"';
257
321
  }
258
- })).toEqual('file.PdF');
322
+
323
+ throw new Error(`Unexpected headerName: ${headerName}`);
324
+ })).toEqual("file.PdF");
259
325
  });
260
326
  });
261
- describe('createResponseStatusError', function () {
262
- it('handles missing PDF file responses', function () {
263
- expect((0, _network_utils.createResponseStatusError)(404, 'https://foo.com/bar.pdf')).toEqual(new _util.MissingPDFException('Missing PDF "https://foo.com/bar.pdf".'));
264
- expect((0, _network_utils.createResponseStatusError)(0, 'file://foo.pdf')).toEqual(new _util.MissingPDFException('Missing PDF "file://foo.pdf".'));
327
+ describe("createResponseStatusError", function () {
328
+ it("handles missing PDF file responses", function () {
329
+ expect((0, _network_utils.createResponseStatusError)(404, "https://foo.com/bar.pdf")).toEqual(new _util.MissingPDFException('Missing PDF "https://foo.com/bar.pdf".'));
330
+ expect((0, _network_utils.createResponseStatusError)(0, "file://foo.pdf")).toEqual(new _util.MissingPDFException('Missing PDF "file://foo.pdf".'));
265
331
  });
266
- it('handles unexpected responses', function () {
267
- expect((0, _network_utils.createResponseStatusError)(302, 'https://foo.com/bar.pdf')).toEqual(new _util.UnexpectedResponseException('Unexpected server response (302) while retrieving PDF ' + '"https://foo.com/bar.pdf".'));
268
- expect((0, _network_utils.createResponseStatusError)(0, 'https://foo.com/bar.pdf')).toEqual(new _util.UnexpectedResponseException('Unexpected server response (0) while retrieving PDF ' + '"https://foo.com/bar.pdf".'));
332
+ it("handles unexpected responses", function () {
333
+ expect((0, _network_utils.createResponseStatusError)(302, "https://foo.com/bar.pdf")).toEqual(new _util.UnexpectedResponseException("Unexpected server response (302) while retrieving PDF " + '"https://foo.com/bar.pdf".'));
334
+ expect((0, _network_utils.createResponseStatusError)(0, "https://foo.com/bar.pdf")).toEqual(new _util.UnexpectedResponseException("Unexpected server response (0) while retrieving PDF " + '"https://foo.com/bar.pdf".'));
269
335
  });
270
336
  });
271
- describe('validateResponseStatus', function () {
272
- it('accepts valid response statuses', function () {
337
+ describe("validateResponseStatus", function () {
338
+ it("accepts valid response statuses", function () {
273
339
  expect((0, _network_utils.validateResponseStatus)(200)).toEqual(true);
274
340
  expect((0, _network_utils.validateResponseStatus)(206)).toEqual(true);
275
341
  });
276
- it('rejects invalid response statuses', function () {
342
+ it("rejects invalid response statuses", function () {
277
343
  expect((0, _network_utils.validateResponseStatus)(302)).toEqual(false);
278
344
  expect((0, _network_utils.validateResponseStatus)(404)).toEqual(false);
279
345
  expect((0, _network_utils.validateResponseStatus)(null)).toEqual(false);