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,27 +21,29 @@
21
21
  */
22
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
32
  (0, _network_utils.validateRangeRequestCapabilities)({
33
33
  rangeChunkSize: 0
34
34
  });
35
- }).toThrow(new Error('Range chunk size must be larger than zero'));
35
+ }).toThrow(new Error("Range chunk size must be larger than zero"));
36
36
  });
37
- it('rejects disabled or non-HTTP range requests', function () {
37
+ it("rejects disabled or non-HTTP range requests", function () {
38
38
  expect((0, _network_utils.validateRangeRequestCapabilities)({
39
39
  disableRange: true,
40
40
  isHttp: true,
41
- getResponseHeader: function getResponseHeader(headerName) {
42
- if (headerName === 'Content-Length') {
41
+ getResponseHeader: headerName => {
42
+ if (headerName === "Content-Length") {
43
43
  return 8;
44
44
  }
45
+
46
+ throw new Error(`Unexpected headerName: ${headerName}`);
45
47
  },
46
48
  rangeChunkSize: 64
47
49
  })).toEqual({
@@ -51,10 +53,12 @@ describe('network_utils', function () {
51
53
  expect((0, _network_utils.validateRangeRequestCapabilities)({
52
54
  disableRange: false,
53
55
  isHttp: false,
54
- getResponseHeader: function getResponseHeader(headerName) {
55
- if (headerName === 'Content-Length') {
56
+ getResponseHeader: headerName => {
57
+ if (headerName === "Content-Length") {
56
58
  return 8;
57
59
  }
60
+
61
+ throw new Error(`Unexpected headerName: ${headerName}`);
58
62
  },
59
63
  rangeChunkSize: 64
60
64
  })).toEqual({
@@ -62,16 +66,18 @@ describe('network_utils', function () {
62
66
  suggestedLength: 8
63
67
  });
64
68
  });
65
- it('rejects invalid Accept-Ranges header values', function () {
69
+ it("rejects invalid Accept-Ranges header values", function () {
66
70
  expect((0, _network_utils.validateRangeRequestCapabilities)({
67
71
  disableRange: false,
68
72
  isHttp: true,
69
- getResponseHeader: function getResponseHeader(headerName) {
70
- if (headerName === 'Accept-Ranges') {
71
- return 'none';
72
- } else if (headerName === 'Content-Length') {
73
+ getResponseHeader: headerName => {
74
+ if (headerName === "Accept-Ranges") {
75
+ return "none";
76
+ } else if (headerName === "Content-Length") {
73
77
  return 8;
74
78
  }
79
+
80
+ throw new Error(`Unexpected headerName: ${headerName}`);
75
81
  },
76
82
  rangeChunkSize: 64
77
83
  })).toEqual({
@@ -79,18 +85,20 @@ describe('network_utils', function () {
79
85
  suggestedLength: 8
80
86
  });
81
87
  });
82
- it('rejects invalid Content-Encoding header values', function () {
88
+ it("rejects invalid Content-Encoding header values", function () {
83
89
  expect((0, _network_utils.validateRangeRequestCapabilities)({
84
90
  disableRange: false,
85
91
  isHttp: true,
86
- getResponseHeader: function getResponseHeader(headerName) {
87
- if (headerName === 'Accept-Ranges') {
88
- return 'bytes';
89
- } else if (headerName === 'Content-Encoding') {
90
- return 'gzip';
91
- } 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") {
92
98
  return 8;
93
99
  }
100
+
101
+ throw new Error(`Unexpected headerName: ${headerName}`);
94
102
  },
95
103
  rangeChunkSize: 64
96
104
  })).toEqual({
@@ -98,18 +106,20 @@ describe('network_utils', function () {
98
106
  suggestedLength: 8
99
107
  });
100
108
  });
101
- it('rejects invalid Content-Length header values', function () {
109
+ it("rejects invalid Content-Length header values", function () {
102
110
  expect((0, _network_utils.validateRangeRequestCapabilities)({
103
111
  disableRange: false,
104
112
  isHttp: true,
105
- getResponseHeader: function getResponseHeader(headerName) {
106
- if (headerName === 'Accept-Ranges') {
107
- return 'bytes';
108
- } else if (headerName === 'Content-Encoding') {
113
+ getResponseHeader: headerName => {
114
+ if (headerName === "Accept-Ranges") {
115
+ return "bytes";
116
+ } else if (headerName === "Content-Encoding") {
109
117
  return null;
110
- } else if (headerName === 'Content-Length') {
111
- return 'eight';
118
+ } else if (headerName === "Content-Length") {
119
+ return "eight";
112
120
  }
121
+
122
+ throw new Error(`Unexpected headerName: ${headerName}`);
113
123
  },
114
124
  rangeChunkSize: 64
115
125
  })).toEqual({
@@ -117,18 +127,20 @@ describe('network_utils', function () {
117
127
  suggestedLength: undefined
118
128
  });
119
129
  });
120
- 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 () {
121
131
  expect((0, _network_utils.validateRangeRequestCapabilities)({
122
132
  disableRange: false,
123
133
  isHttp: true,
124
- getResponseHeader: function getResponseHeader(headerName) {
125
- if (headerName === 'Accept-Ranges') {
126
- return 'bytes';
127
- } else if (headerName === 'Content-Encoding') {
134
+ getResponseHeader: headerName => {
135
+ if (headerName === "Accept-Ranges") {
136
+ return "bytes";
137
+ } else if (headerName === "Content-Encoding") {
128
138
  return null;
129
- } else if (headerName === 'Content-Length') {
139
+ } else if (headerName === "Content-Length") {
130
140
  return 8;
131
141
  }
142
+
143
+ throw new Error(`Unexpected headerName: ${headerName}`);
132
144
  },
133
145
  rangeChunkSize: 64
134
146
  })).toEqual({
@@ -136,18 +148,20 @@ describe('network_utils', function () {
136
148
  suggestedLength: 8
137
149
  });
138
150
  });
139
- it('accepts file sizes large enough for range requests', function () {
151
+ it("accepts file sizes large enough for range requests", function () {
140
152
  expect((0, _network_utils.validateRangeRequestCapabilities)({
141
153
  disableRange: false,
142
154
  isHttp: true,
143
- getResponseHeader: function getResponseHeader(headerName) {
144
- if (headerName === 'Accept-Ranges') {
145
- return 'bytes';
146
- } else if (headerName === 'Content-Encoding') {
155
+ getResponseHeader: headerName => {
156
+ if (headerName === "Accept-Ranges") {
157
+ return "bytes";
158
+ } else if (headerName === "Content-Encoding") {
147
159
  return null;
148
- } else if (headerName === 'Content-Length') {
160
+ } else if (headerName === "Content-Length") {
149
161
  return 8192;
150
162
  }
163
+
164
+ throw new Error(`Unexpected headerName: ${headerName}`);
151
165
  },
152
166
  rangeChunkSize: 64
153
167
  })).toEqual({
@@ -156,126 +170,176 @@ describe('network_utils', function () {
156
170
  });
157
171
  });
158
172
  });
159
- describe('extractFilenameFromHeader', function () {
160
- it('returns null when content disposition header is blank', function () {
161
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
162
- 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") {
163
177
  return null;
164
178
  }
179
+
180
+ throw new Error(`Unexpected headerName: ${headerName}`);
165
181
  })).toBeNull();
166
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
167
- if (headerName === 'Content-Disposition') {
182
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
183
+ if (headerName === "Content-Disposition") {
168
184
  return undefined;
169
185
  }
186
+
187
+ throw new Error(`Unexpected headerName: ${headerName}`);
170
188
  })).toBeNull();
171
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
172
- if (headerName === 'Content-Disposition') {
173
- return '';
189
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
190
+ if (headerName === "Content-Disposition") {
191
+ return "";
174
192
  }
193
+
194
+ throw new Error(`Unexpected headerName: ${headerName}`);
175
195
  })).toBeNull();
176
196
  });
177
- it('gets the filename from the response header', function () {
178
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
179
- if (headerName === 'Content-Disposition') {
180
- 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";
181
201
  }
202
+
203
+ throw new Error(`Unexpected headerName: ${headerName}`);
182
204
  })).toBeNull();
183
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
184
- if (headerName === 'Content-Disposition') {
185
- return 'attachment';
205
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
206
+ if (headerName === "Content-Disposition") {
207
+ return "attachment";
186
208
  }
209
+
210
+ throw new Error(`Unexpected headerName: ${headerName}`);
187
211
  })).toBeNull();
188
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
189
- if (headerName === 'Content-Disposition') {
212
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
213
+ if (headerName === "Content-Disposition") {
190
214
  return 'attachment; filename="filename.pdf"';
191
215
  }
192
- })).toEqual('filename.pdf');
193
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
194
- 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") {
195
221
  return 'attachment; filename="filename.pdf and spaces.pdf"';
196
222
  }
197
- })).toEqual('filename.pdf and spaces.pdf');
198
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
199
- 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") {
200
228
  return 'attachment; filename="tl;dr.pdf"';
201
229
  }
202
- })).toEqual('tl;dr.pdf');
203
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
204
- if (headerName === 'Content-Disposition') {
205
- 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";
206
236
  }
207
- })).toEqual('filename.pdf');
208
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
209
- if (headerName === 'Content-Disposition') {
210
- 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"';
211
250
  }
212
- })).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");
213
261
  });
214
- it('gets the filename from the response header (RFC 6266)', function () {
215
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
216
- if (headerName === 'Content-Disposition') {
217
- 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";
218
266
  }
219
- })).toEqual('filename.pdf');
220
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
221
- if (headerName === 'Content-Disposition') {
222
- 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";
223
273
  }
224
- })).toEqual('filename.pdf');
225
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
226
- if (headerName === 'Content-Disposition') {
227
- 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";
228
280
  }
229
- })).toEqual('filename.pdf');
230
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
231
- if (headerName === 'Content-Disposition') {
232
- 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";
233
287
  }
234
- })).toEqual('filename.pdf');
235
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
236
- if (headerName === 'Content-Disposition') {
237
- 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";
238
294
  }
239
- })).toEqual('filename.pdf');
295
+
296
+ throw new Error(`Unexpected headerName: ${headerName}`);
297
+ })).toEqual("filename.pdf");
240
298
  });
241
- it('gets the filename from the response header (RFC 2231)', function () {
242
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
243
- if (headerName === 'Content-Disposition') {
244
- 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";
245
303
  }
246
- })).toEqual('filename.pdf');
304
+
305
+ throw new Error(`Unexpected headerName: ${headerName}`);
306
+ })).toEqual("filename.pdf");
247
307
  });
248
- it('only extracts filename with pdf extension', function () {
249
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
250
- 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") {
251
311
  return 'attachment; filename="filename.png"';
252
312
  }
313
+
314
+ throw new Error(`Unexpected headerName: ${headerName}`);
253
315
  })).toBeNull();
254
316
  });
255
- it('extension validation is case insensitive', function () {
256
- expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
257
- if (headerName === 'Content-Disposition') {
317
+ it("extension validation is case insensitive", function () {
318
+ expect((0, _network_utils.extractFilenameFromHeader)(headerName => {
319
+ if (headerName === "Content-Disposition") {
258
320
  return 'form-data; name="fieldName"; filename="file.PdF"';
259
321
  }
260
- })).toEqual('file.PdF');
322
+
323
+ throw new Error(`Unexpected headerName: ${headerName}`);
324
+ })).toEqual("file.PdF");
261
325
  });
262
326
  });
263
- describe('createResponseStatusError', function () {
264
- it('handles missing PDF file responses', function () {
265
- expect((0, _network_utils.createResponseStatusError)(404, 'https://foo.com/bar.pdf')).toEqual(new _util.MissingPDFException('Missing PDF "https://foo.com/bar.pdf".'));
266
- 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".'));
267
331
  });
268
- it('handles unexpected responses', function () {
269
- 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".'));
270
- 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".'));
271
335
  });
272
336
  });
273
- describe('validateResponseStatus', function () {
274
- it('accepts valid response statuses', function () {
337
+ describe("validateResponseStatus", function () {
338
+ it("accepts valid response statuses", function () {
275
339
  expect((0, _network_utils.validateResponseStatus)(200)).toEqual(true);
276
340
  expect((0, _network_utils.validateResponseStatus)(206)).toEqual(true);
277
341
  });
278
- it('rejects invalid response statuses', function () {
342
+ it("rejects invalid response statuses", function () {
279
343
  expect((0, _network_utils.validateResponseStatus)(302)).toEqual(false);
280
344
  expect((0, _network_utils.validateResponseStatus)(404)).toEqual(false);
281
345
  expect((0, _network_utils.validateResponseStatus)(null)).toEqual(false);