@zextras/carbonio-ui-preview 0.2.1 → 0.2.2
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.
- package/lib/preview/ImagePreview.js +11 -5
- package/lib/preview/ImagePreview.js.map +1 -1
- package/lib/preview/PageController.js +14 -3
- package/lib/preview/PageController.js.map +1 -1
- package/lib/preview/PdfPreview.d.ts +4 -0
- package/lib/preview/PdfPreview.js +51 -18
- package/lib/preview/PdfPreview.js.map +1 -1
- package/lib/preview/PdfPreview.test.js +326 -59
- package/lib/preview/PdfPreview.test.js.map +1 -1
- package/lib/preview/PreviewManager.test.js +93 -0
- package/lib/preview/PreviewManager.test.js.map +1 -1
- package/lib-esm/preview/ImagePreview.js +11 -5
- package/lib-esm/preview/ImagePreview.js.map +1 -1
- package/lib-esm/preview/PageController.js +14 -3
- package/lib-esm/preview/PageController.js.map +1 -1
- package/lib-esm/preview/PdfPreview.d.ts +4 -0
- package/lib-esm/preview/PdfPreview.js +51 -18
- package/lib-esm/preview/PdfPreview.js.map +1 -1
- package/lib-esm/preview/PdfPreview.test.js +326 -59
- package/lib-esm/preview/PdfPreview.test.js.map +1 -1
- package/lib-esm/preview/PreviewManager.test.js +94 -1
- package/lib-esm/preview/PreviewManager.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -66,10 +66,10 @@ describe('Pdf Preview', function () {
|
|
|
66
66
|
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
67
67
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
68
68
|
});
|
|
69
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
69
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
70
70
|
case 1:
|
|
71
71
|
_a.sent();
|
|
72
|
-
expect(react_2.screen.queryByText(/
|
|
72
|
+
expect(react_2.screen.queryByText(/Loading document preview…/i)).not.toBeInTheDocument();
|
|
73
73
|
expect(react_2.screen.getByTestId('pdf-preview-container')).toBeInTheDocument();
|
|
74
74
|
pageElement = document.querySelector('[data-page-number="1"]');
|
|
75
75
|
expect(pageElement).toBeDefined();
|
|
@@ -86,7 +86,7 @@ describe('Pdf Preview', function () {
|
|
|
86
86
|
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: false, src: pdfFile.dataURI, onClose: onClose }), {
|
|
87
87
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
88
88
|
});
|
|
89
|
-
expect(react_2.screen.queryByText(/
|
|
89
|
+
expect(react_2.screen.queryByText(/Loading document preview…/i)).not.toBeInTheDocument();
|
|
90
90
|
expect(react_2.screen.queryByTestId('pdf-preview-container')).not.toBeInTheDocument();
|
|
91
91
|
return [2 /*return*/];
|
|
92
92
|
});
|
|
@@ -100,13 +100,13 @@ describe('Pdf Preview', function () {
|
|
|
100
100
|
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: "invalid-pdf.pdf", onClose: onClose }), {
|
|
101
101
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
102
102
|
});
|
|
103
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
103
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
104
104
|
case 1:
|
|
105
105
|
_a.sent();
|
|
106
|
-
return [4 /*yield*/, react_2.screen.findByText(/Failed to load
|
|
106
|
+
return [4 /*yield*/, react_2.screen.findByText(/Failed to load document preview./i)];
|
|
107
107
|
case 2:
|
|
108
108
|
_a.sent();
|
|
109
|
-
expect(react_2.screen.queryByText(/
|
|
109
|
+
expect(react_2.screen.queryByText(/Loading document preview…/i)).not.toBeInTheDocument();
|
|
110
110
|
expect(react_2.screen.getByTestId('pdf-preview-container')).toBeInTheDocument();
|
|
111
111
|
return [2 /*return*/];
|
|
112
112
|
}
|
|
@@ -153,10 +153,10 @@ describe('Pdf Preview', function () {
|
|
|
153
153
|
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, filename: "file name", extension: "pdf", size: "18KB" }), {
|
|
154
154
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
155
155
|
});
|
|
156
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
156
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
157
157
|
case 1:
|
|
158
158
|
_a.sent();
|
|
159
|
-
expect(react_2.screen.queryByText(/
|
|
159
|
+
expect(react_2.screen.queryByText(/Loading document preview…/i)).not.toBeInTheDocument();
|
|
160
160
|
expect(react_2.screen.getByText(/file name/i)).toBeVisible();
|
|
161
161
|
expect(react_2.screen.getByText(/pdf.*18KB/i)).toBeVisible();
|
|
162
162
|
return [2 /*return*/];
|
|
@@ -172,10 +172,10 @@ describe('Pdf Preview', function () {
|
|
|
172
172
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
173
173
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
174
174
|
}).user;
|
|
175
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
175
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
176
176
|
case 1:
|
|
177
177
|
_a.sent();
|
|
178
|
-
expect(react_2.screen.queryByText(/
|
|
178
|
+
expect(react_2.screen.queryByText(/Loading document preview…/i)).not.toBeInTheDocument();
|
|
179
179
|
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
180
180
|
case 2:
|
|
181
181
|
_a.sent();
|
|
@@ -200,10 +200,10 @@ describe('Pdf Preview', function () {
|
|
|
200
200
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, closeAction: closeAction }), {
|
|
201
201
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
202
202
|
}).user;
|
|
203
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
203
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
204
204
|
case 1:
|
|
205
205
|
_a.sent();
|
|
206
|
-
expect(react_2.screen.queryByText(/
|
|
206
|
+
expect(react_2.screen.queryByText(/Loading document preview…/i)).not.toBeInTheDocument();
|
|
207
207
|
closeActionElement = react_2.screen.getByTestId('icon: Activity');
|
|
208
208
|
expect(closeActionElement).toBeVisible();
|
|
209
209
|
return [4 /*yield*/, user.hover(closeActionElement)];
|
|
@@ -251,7 +251,7 @@ describe('Pdf Preview', function () {
|
|
|
251
251
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, actions: actions, filename: "pdf name", closeAction: closeAction }), {
|
|
252
252
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
253
253
|
}).user;
|
|
254
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
254
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
255
255
|
case 1:
|
|
256
256
|
_a.sent();
|
|
257
257
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
@@ -309,7 +309,7 @@ describe('Pdf Preview', function () {
|
|
|
309
309
|
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
310
310
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
311
311
|
});
|
|
312
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
312
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
313
313
|
case 1:
|
|
314
314
|
_a.sent();
|
|
315
315
|
canvas = document.querySelector('canvas');
|
|
@@ -328,7 +328,7 @@ describe('Pdf Preview', function () {
|
|
|
328
328
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
329
329
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
330
330
|
}).user;
|
|
331
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
331
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
332
332
|
case 1:
|
|
333
333
|
_a.sent();
|
|
334
334
|
canvas = document.querySelector('canvas');
|
|
@@ -361,7 +361,7 @@ describe('Pdf Preview', function () {
|
|
|
361
361
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
362
362
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
363
363
|
}).user;
|
|
364
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
364
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
365
365
|
case 1:
|
|
366
366
|
_a.sent();
|
|
367
367
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -414,7 +414,7 @@ describe('Pdf Preview', function () {
|
|
|
414
414
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
415
415
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
416
416
|
}).user;
|
|
417
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
417
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
418
418
|
case 1:
|
|
419
419
|
_a.sent();
|
|
420
420
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -453,7 +453,7 @@ describe('Pdf Preview', function () {
|
|
|
453
453
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
454
454
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
455
455
|
}).user;
|
|
456
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
456
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
457
457
|
case 1:
|
|
458
458
|
_a.sent();
|
|
459
459
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -484,7 +484,7 @@ describe('Pdf Preview', function () {
|
|
|
484
484
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
485
485
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
486
486
|
}).user;
|
|
487
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
487
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
488
488
|
case 1:
|
|
489
489
|
_a.sent();
|
|
490
490
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -522,7 +522,7 @@ describe('Pdf Preview', function () {
|
|
|
522
522
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
523
523
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
524
524
|
}).user;
|
|
525
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
525
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
526
526
|
case 1:
|
|
527
527
|
_a.sent();
|
|
528
528
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -551,7 +551,7 @@ describe('Pdf Preview', function () {
|
|
|
551
551
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
552
552
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
553
553
|
}).user;
|
|
554
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
554
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
555
555
|
case 1:
|
|
556
556
|
_a.sent();
|
|
557
557
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -581,7 +581,7 @@ describe('Pdf Preview', function () {
|
|
|
581
581
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
582
582
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
583
583
|
}).user;
|
|
584
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
584
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
585
585
|
case 1:
|
|
586
586
|
_a.sent();
|
|
587
587
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -614,7 +614,7 @@ describe('Pdf Preview', function () {
|
|
|
614
614
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
615
615
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
616
616
|
}).user;
|
|
617
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
617
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
618
618
|
case 1:
|
|
619
619
|
_a.sent();
|
|
620
620
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -646,7 +646,7 @@ describe('Pdf Preview', function () {
|
|
|
646
646
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
647
647
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
648
648
|
}).user;
|
|
649
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
649
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
650
650
|
case 1:
|
|
651
651
|
_a.sent();
|
|
652
652
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -680,7 +680,7 @@ describe('Pdf Preview', function () {
|
|
|
680
680
|
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
681
681
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
682
682
|
}).user;
|
|
683
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
683
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
684
684
|
case 1:
|
|
685
685
|
_a.sent();
|
|
686
686
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -715,16 +715,15 @@ describe('Pdf Preview', function () {
|
|
|
715
715
|
}); });
|
|
716
716
|
describe('Page selector', function () {
|
|
717
717
|
test('shows page controller', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
718
|
-
var onClose
|
|
718
|
+
var onClose;
|
|
719
719
|
return __generator(this, function (_a) {
|
|
720
720
|
switch (_a.label) {
|
|
721
721
|
case 0:
|
|
722
722
|
onClose = jest.fn();
|
|
723
|
-
|
|
724
|
-
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
723
|
+
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
725
724
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
726
725
|
});
|
|
727
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
726
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
728
727
|
case 1:
|
|
729
728
|
_a.sent();
|
|
730
729
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -738,16 +737,15 @@ describe('Pdf Preview', function () {
|
|
|
738
737
|
});
|
|
739
738
|
}); });
|
|
740
739
|
test('blur is a confirmation event on page input', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
741
|
-
var onClose,
|
|
740
|
+
var onClose, user, pageInput;
|
|
742
741
|
return __generator(this, function (_a) {
|
|
743
742
|
switch (_a.label) {
|
|
744
743
|
case 0:
|
|
745
744
|
onClose = jest.fn();
|
|
746
|
-
|
|
747
|
-
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
745
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
748
746
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
749
747
|
}).user;
|
|
750
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
748
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
751
749
|
case 1:
|
|
752
750
|
_a.sent();
|
|
753
751
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -771,16 +769,15 @@ describe('Pdf Preview', function () {
|
|
|
771
769
|
});
|
|
772
770
|
}); });
|
|
773
771
|
test('enter key is a confirmation event on page input', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
774
|
-
var onClose,
|
|
772
|
+
var onClose, user, pageInput;
|
|
775
773
|
return __generator(this, function (_a) {
|
|
776
774
|
switch (_a.label) {
|
|
777
775
|
case 0:
|
|
778
776
|
onClose = jest.fn();
|
|
779
|
-
|
|
780
|
-
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
777
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
781
778
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
782
779
|
}).user;
|
|
783
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
780
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
784
781
|
case 1:
|
|
785
782
|
_a.sent();
|
|
786
783
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -804,18 +801,17 @@ describe('Pdf Preview', function () {
|
|
|
804
801
|
});
|
|
805
802
|
}); });
|
|
806
803
|
test('when input is confirmed, input loses focus and the document is scrolled to typed page', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
807
|
-
var onClose,
|
|
804
|
+
var onClose, scrollIntoViewFn, user, pageInput;
|
|
808
805
|
return __generator(this, function (_a) {
|
|
809
806
|
switch (_a.label) {
|
|
810
807
|
case 0:
|
|
811
808
|
onClose = jest.fn();
|
|
812
|
-
ref = react_1.default.createRef();
|
|
813
809
|
scrollIntoViewFn = jest.fn();
|
|
814
810
|
window.HTMLElement.prototype.scrollIntoView = scrollIntoViewFn;
|
|
815
|
-
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose
|
|
811
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
816
812
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
817
813
|
}).user;
|
|
818
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
814
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
819
815
|
case 1:
|
|
820
816
|
_a.sent();
|
|
821
817
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -841,18 +837,17 @@ describe('Pdf Preview', function () {
|
|
|
841
837
|
});
|
|
842
838
|
}); });
|
|
843
839
|
test('when input is confirmed with an invalid value, input loses focus and the input value is reset to previous valid page', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
844
|
-
var onClose,
|
|
840
|
+
var onClose, scrollIntoViewFn, user, pageInput;
|
|
845
841
|
return __generator(this, function (_a) {
|
|
846
842
|
switch (_a.label) {
|
|
847
843
|
case 0:
|
|
848
844
|
onClose = jest.fn();
|
|
849
|
-
ref = react_1.default.createRef();
|
|
850
845
|
scrollIntoViewFn = jest.fn();
|
|
851
846
|
window.HTMLElement.prototype.scrollIntoView = scrollIntoViewFn;
|
|
852
|
-
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose
|
|
847
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
853
848
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
854
849
|
}).user;
|
|
855
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
850
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
856
851
|
case 1:
|
|
857
852
|
_a.sent();
|
|
858
853
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -877,16 +872,15 @@ describe('Pdf Preview', function () {
|
|
|
877
872
|
});
|
|
878
873
|
}); });
|
|
879
874
|
test('on scroll, if focus is not on input, value is updated with current page', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
880
|
-
var onClose,
|
|
875
|
+
var onClose, pageInput, page2Element;
|
|
881
876
|
return __generator(this, function (_a) {
|
|
882
877
|
switch (_a.label) {
|
|
883
878
|
case 0:
|
|
884
879
|
onClose = jest.fn();
|
|
885
|
-
|
|
886
|
-
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
880
|
+
(0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
887
881
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
888
882
|
});
|
|
889
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
883
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
890
884
|
case 1:
|
|
891
885
|
_a.sent();
|
|
892
886
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -905,16 +899,15 @@ describe('Pdf Preview', function () {
|
|
|
905
899
|
});
|
|
906
900
|
}); });
|
|
907
901
|
test('on scroll, if focus is on input, value is updated with current page', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
908
|
-
var onClose,
|
|
902
|
+
var onClose, user, pageInput, page2Element;
|
|
909
903
|
return __generator(this, function (_a) {
|
|
910
904
|
switch (_a.label) {
|
|
911
905
|
case 0:
|
|
912
906
|
onClose = jest.fn();
|
|
913
|
-
|
|
914
|
-
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
907
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
915
908
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
916
909
|
}).user;
|
|
917
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
910
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
918
911
|
case 1:
|
|
919
912
|
_a.sent();
|
|
920
913
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -940,17 +933,16 @@ describe('Pdf Preview', function () {
|
|
|
940
933
|
}
|
|
941
934
|
});
|
|
942
935
|
}); });
|
|
943
|
-
test('esc key
|
|
944
|
-
var onClose,
|
|
936
|
+
test('must press esc key 2 times to make user exit from the preview, when focus is on input', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
937
|
+
var onClose, user, pageInput;
|
|
945
938
|
return __generator(this, function (_a) {
|
|
946
939
|
switch (_a.label) {
|
|
947
940
|
case 0:
|
|
948
941
|
onClose = jest.fn();
|
|
949
|
-
|
|
950
|
-
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose, ref: ref }), {
|
|
942
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
951
943
|
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
952
944
|
}).user;
|
|
953
|
-
return [4 /*yield*/, react_2.screen.findByText(/
|
|
945
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
954
946
|
case 1:
|
|
955
947
|
_a.sent();
|
|
956
948
|
// eslint-disable-next-line testing-library/no-node-access
|
|
@@ -968,7 +960,282 @@ describe('Pdf Preview', function () {
|
|
|
968
960
|
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
969
961
|
case 4:
|
|
970
962
|
_a.sent();
|
|
971
|
-
expect(onClose).toHaveBeenCalled();
|
|
963
|
+
expect(onClose).not.toHaveBeenCalled();
|
|
964
|
+
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
965
|
+
case 5:
|
|
966
|
+
_a.sent();
|
|
967
|
+
expect(onClose).toHaveBeenCalledTimes(1);
|
|
968
|
+
return [2 /*return*/];
|
|
969
|
+
}
|
|
970
|
+
});
|
|
971
|
+
}); });
|
|
972
|
+
});
|
|
973
|
+
describe('keyboard shortcuts', function () {
|
|
974
|
+
describe('Home and End', function () {
|
|
975
|
+
test('click End go to last page and Home return to the first page', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
976
|
+
var onClose, user, pageInput;
|
|
977
|
+
return __generator(this, function (_a) {
|
|
978
|
+
switch (_a.label) {
|
|
979
|
+
case 0:
|
|
980
|
+
onClose = jest.fn();
|
|
981
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
982
|
+
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
983
|
+
}).user;
|
|
984
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
985
|
+
case 1:
|
|
986
|
+
_a.sent();
|
|
987
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
988
|
+
expect(document.querySelector('canvas')).toBeVisible();
|
|
989
|
+
expect(react_2.screen.getByText(/page/i)).toBeVisible();
|
|
990
|
+
pageInput = react_2.screen.getByRole('textbox', { name: /current page/i });
|
|
991
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
992
|
+
return [4 /*yield*/, user.keyboard('{End}')];
|
|
993
|
+
case 2:
|
|
994
|
+
_a.sent();
|
|
995
|
+
expect(pageInput).toHaveDisplayValue('4');
|
|
996
|
+
return [4 /*yield*/, user.keyboard('{Home}')];
|
|
997
|
+
case 3:
|
|
998
|
+
_a.sent();
|
|
999
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1000
|
+
return [2 /*return*/];
|
|
1001
|
+
}
|
|
1002
|
+
});
|
|
1003
|
+
}); });
|
|
1004
|
+
test('click End go to last page and Home return to the first page, but they do not work if the page input is focussed ', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1005
|
+
var onClose, user, pageInput;
|
|
1006
|
+
return __generator(this, function (_a) {
|
|
1007
|
+
switch (_a.label) {
|
|
1008
|
+
case 0:
|
|
1009
|
+
onClose = jest.fn();
|
|
1010
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
1011
|
+
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
1012
|
+
}).user;
|
|
1013
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
1014
|
+
case 1:
|
|
1015
|
+
_a.sent();
|
|
1016
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
1017
|
+
expect(document.querySelector('canvas')).toBeVisible();
|
|
1018
|
+
expect(react_2.screen.getByText(/page/i)).toBeVisible();
|
|
1019
|
+
pageInput = react_2.screen.getByRole('textbox', { name: /current page/i });
|
|
1020
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1021
|
+
return [4 /*yield*/, user.click(pageInput)];
|
|
1022
|
+
case 2:
|
|
1023
|
+
_a.sent();
|
|
1024
|
+
expect(pageInput).toHaveFocus();
|
|
1025
|
+
return [4 /*yield*/, user.keyboard('{End}')];
|
|
1026
|
+
case 3:
|
|
1027
|
+
_a.sent();
|
|
1028
|
+
expect(pageInput).not.toHaveDisplayValue('4');
|
|
1029
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1030
|
+
// remove focus
|
|
1031
|
+
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
1032
|
+
case 4:
|
|
1033
|
+
// remove focus
|
|
1034
|
+
_a.sent();
|
|
1035
|
+
expect(pageInput).not.toHaveFocus();
|
|
1036
|
+
return [4 /*yield*/, user.keyboard('{End}')];
|
|
1037
|
+
case 5:
|
|
1038
|
+
_a.sent();
|
|
1039
|
+
expect(pageInput).toHaveDisplayValue('4');
|
|
1040
|
+
// focus input again
|
|
1041
|
+
return [4 /*yield*/, user.click(pageInput)];
|
|
1042
|
+
case 6:
|
|
1043
|
+
// focus input again
|
|
1044
|
+
_a.sent();
|
|
1045
|
+
expect(pageInput).toHaveFocus();
|
|
1046
|
+
return [4 /*yield*/, user.keyboard('{Home}')];
|
|
1047
|
+
case 7:
|
|
1048
|
+
_a.sent();
|
|
1049
|
+
expect(pageInput).not.toHaveDisplayValue('1');
|
|
1050
|
+
expect(pageInput).toHaveDisplayValue('4');
|
|
1051
|
+
// remove focus
|
|
1052
|
+
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
1053
|
+
case 8:
|
|
1054
|
+
// remove focus
|
|
1055
|
+
_a.sent();
|
|
1056
|
+
expect(pageInput).not.toHaveFocus();
|
|
1057
|
+
return [4 /*yield*/, user.keyboard('{Home}')];
|
|
1058
|
+
case 9:
|
|
1059
|
+
_a.sent();
|
|
1060
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1061
|
+
return [2 /*return*/];
|
|
1062
|
+
}
|
|
1063
|
+
});
|
|
1064
|
+
}); });
|
|
1065
|
+
});
|
|
1066
|
+
describe('PageUp and PageDown', function () {
|
|
1067
|
+
test('click PageDown go to the next page and PageUp go to the previous page', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1068
|
+
var onClose, user, pageInput;
|
|
1069
|
+
return __generator(this, function (_a) {
|
|
1070
|
+
switch (_a.label) {
|
|
1071
|
+
case 0:
|
|
1072
|
+
onClose = jest.fn();
|
|
1073
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
1074
|
+
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
1075
|
+
}).user;
|
|
1076
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
1077
|
+
case 1:
|
|
1078
|
+
_a.sent();
|
|
1079
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
1080
|
+
expect(document.querySelector('canvas')).toBeVisible();
|
|
1081
|
+
expect(react_2.screen.getByText(/page/i)).toBeVisible();
|
|
1082
|
+
pageInput = react_2.screen.getByRole('textbox', { name: /current page/i });
|
|
1083
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1084
|
+
return [4 /*yield*/, user.keyboard('{PageDown}')];
|
|
1085
|
+
case 2:
|
|
1086
|
+
_a.sent();
|
|
1087
|
+
expect(pageInput).toHaveDisplayValue('2');
|
|
1088
|
+
return [4 /*yield*/, user.keyboard('{PageDown}')];
|
|
1089
|
+
case 3:
|
|
1090
|
+
_a.sent();
|
|
1091
|
+
expect(pageInput).toHaveDisplayValue('3');
|
|
1092
|
+
return [4 /*yield*/, user.keyboard('{PageDown}')];
|
|
1093
|
+
case 4:
|
|
1094
|
+
_a.sent();
|
|
1095
|
+
expect(pageInput).toHaveDisplayValue('4');
|
|
1096
|
+
return [4 /*yield*/, user.keyboard('{PageDown}')];
|
|
1097
|
+
case 5:
|
|
1098
|
+
_a.sent();
|
|
1099
|
+
expect(pageInput).toHaveDisplayValue('4');
|
|
1100
|
+
return [4 /*yield*/, user.keyboard('{PageUp}')];
|
|
1101
|
+
case 6:
|
|
1102
|
+
_a.sent();
|
|
1103
|
+
expect(pageInput).toHaveDisplayValue('3');
|
|
1104
|
+
return [4 /*yield*/, user.keyboard('{PageUp}')];
|
|
1105
|
+
case 7:
|
|
1106
|
+
_a.sent();
|
|
1107
|
+
expect(pageInput).toHaveDisplayValue('2');
|
|
1108
|
+
return [4 /*yield*/, user.keyboard('{PageUp}')];
|
|
1109
|
+
case 8:
|
|
1110
|
+
_a.sent();
|
|
1111
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1112
|
+
return [4 /*yield*/, user.keyboard('{PageUp}')];
|
|
1113
|
+
case 9:
|
|
1114
|
+
_a.sent();
|
|
1115
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1116
|
+
return [2 /*return*/];
|
|
1117
|
+
}
|
|
1118
|
+
});
|
|
1119
|
+
}); });
|
|
1120
|
+
test('click PageDown go to the next page and PageUp go to the previous page, but they do not work if the page input is focussed ', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1121
|
+
var onClose, user, pageInput;
|
|
1122
|
+
return __generator(this, function (_a) {
|
|
1123
|
+
switch (_a.label) {
|
|
1124
|
+
case 0:
|
|
1125
|
+
onClose = jest.fn();
|
|
1126
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
1127
|
+
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
1128
|
+
}).user;
|
|
1129
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
1130
|
+
case 1:
|
|
1131
|
+
_a.sent();
|
|
1132
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
1133
|
+
expect(document.querySelector('canvas')).toBeVisible();
|
|
1134
|
+
expect(react_2.screen.getByText(/page/i)).toBeVisible();
|
|
1135
|
+
pageInput = react_2.screen.getByRole('textbox', { name: /current page/i });
|
|
1136
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1137
|
+
return [4 /*yield*/, user.click(pageInput)];
|
|
1138
|
+
case 2:
|
|
1139
|
+
_a.sent();
|
|
1140
|
+
expect(pageInput).toHaveFocus();
|
|
1141
|
+
return [4 /*yield*/, user.keyboard('{PageDown}')];
|
|
1142
|
+
case 3:
|
|
1143
|
+
_a.sent();
|
|
1144
|
+
expect(pageInput).not.toHaveDisplayValue('2');
|
|
1145
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1146
|
+
// remove focus
|
|
1147
|
+
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
1148
|
+
case 4:
|
|
1149
|
+
// remove focus
|
|
1150
|
+
_a.sent();
|
|
1151
|
+
expect(pageInput).not.toHaveFocus();
|
|
1152
|
+
return [4 /*yield*/, user.keyboard('{PageDown}')];
|
|
1153
|
+
case 5:
|
|
1154
|
+
_a.sent();
|
|
1155
|
+
expect(pageInput).toHaveDisplayValue('2');
|
|
1156
|
+
// focus input again
|
|
1157
|
+
return [4 /*yield*/, user.click(pageInput)];
|
|
1158
|
+
case 6:
|
|
1159
|
+
// focus input again
|
|
1160
|
+
_a.sent();
|
|
1161
|
+
expect(pageInput).toHaveFocus();
|
|
1162
|
+
return [4 /*yield*/, user.keyboard('{PageUp}')];
|
|
1163
|
+
case 7:
|
|
1164
|
+
_a.sent();
|
|
1165
|
+
expect(pageInput).not.toHaveDisplayValue('1');
|
|
1166
|
+
expect(pageInput).toHaveDisplayValue('2');
|
|
1167
|
+
// remove focus
|
|
1168
|
+
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
1169
|
+
case 8:
|
|
1170
|
+
// remove focus
|
|
1171
|
+
_a.sent();
|
|
1172
|
+
expect(pageInput).not.toHaveFocus();
|
|
1173
|
+
return [4 /*yield*/, user.keyboard('{PageUp}')];
|
|
1174
|
+
case 9:
|
|
1175
|
+
_a.sent();
|
|
1176
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1177
|
+
return [2 /*return*/];
|
|
1178
|
+
}
|
|
1179
|
+
});
|
|
1180
|
+
}); });
|
|
1181
|
+
});
|
|
1182
|
+
test('ArrowUp and ArrowDown', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1183
|
+
var onClose, scrollByFn, user, pageInput;
|
|
1184
|
+
return __generator(this, function (_a) {
|
|
1185
|
+
switch (_a.label) {
|
|
1186
|
+
case 0:
|
|
1187
|
+
onClose = jest.fn();
|
|
1188
|
+
scrollByFn = jest.fn();
|
|
1189
|
+
window.HTMLElement.prototype.scrollBy = scrollByFn;
|
|
1190
|
+
user = (0, test_utils_1.setup)(react_1.default.createElement(PdfPreview_1.PdfPreview, { show: true, src: pdfFile.dataURI, onClose: onClose }), {
|
|
1191
|
+
setupOptions: { advanceTimers: function () { return Promise.resolve(); } }
|
|
1192
|
+
}).user;
|
|
1193
|
+
return [4 /*yield*/, react_2.screen.findByText(/Loading document preview…/i)];
|
|
1194
|
+
case 1:
|
|
1195
|
+
_a.sent();
|
|
1196
|
+
// eslint-disable-next-line testing-library/no-node-access
|
|
1197
|
+
expect(document.querySelector('canvas')).toBeVisible();
|
|
1198
|
+
expect(react_2.screen.getByText(/page/i)).toBeVisible();
|
|
1199
|
+
pageInput = react_2.screen.getByRole('textbox', { name: /current page/i });
|
|
1200
|
+
expect(pageInput).toHaveDisplayValue('1');
|
|
1201
|
+
return [4 /*yield*/, user.click(pageInput)];
|
|
1202
|
+
case 2:
|
|
1203
|
+
_a.sent();
|
|
1204
|
+
expect(pageInput).toHaveFocus();
|
|
1205
|
+
return [4 /*yield*/, user.keyboard('{ArrowDown}')];
|
|
1206
|
+
case 3:
|
|
1207
|
+
_a.sent();
|
|
1208
|
+
expect(scrollByFn).not.toHaveBeenCalled();
|
|
1209
|
+
// remove focus
|
|
1210
|
+
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
1211
|
+
case 4:
|
|
1212
|
+
// remove focus
|
|
1213
|
+
_a.sent();
|
|
1214
|
+
expect(pageInput).not.toHaveFocus();
|
|
1215
|
+
return [4 /*yield*/, user.keyboard('{ArrowDown}')];
|
|
1216
|
+
case 5:
|
|
1217
|
+
_a.sent();
|
|
1218
|
+
expect(scrollByFn).toHaveBeenCalledTimes(1);
|
|
1219
|
+
expect(scrollByFn).toHaveBeenCalledWith(0, 40);
|
|
1220
|
+
return [4 /*yield*/, user.click(pageInput)];
|
|
1221
|
+
case 6:
|
|
1222
|
+
_a.sent();
|
|
1223
|
+
expect(pageInput).toHaveFocus();
|
|
1224
|
+
return [4 /*yield*/, user.keyboard('{ArrowUp}')];
|
|
1225
|
+
case 7:
|
|
1226
|
+
_a.sent();
|
|
1227
|
+
expect(scrollByFn).toHaveBeenCalledTimes(1);
|
|
1228
|
+
// remove focus
|
|
1229
|
+
return [4 /*yield*/, user.keyboard('{Escape}')];
|
|
1230
|
+
case 8:
|
|
1231
|
+
// remove focus
|
|
1232
|
+
_a.sent();
|
|
1233
|
+
expect(pageInput).not.toHaveFocus();
|
|
1234
|
+
return [4 /*yield*/, user.keyboard('{ArrowUp}')];
|
|
1235
|
+
case 9:
|
|
1236
|
+
_a.sent();
|
|
1237
|
+
expect(scrollByFn).toHaveBeenCalledTimes(2);
|
|
1238
|
+
expect(scrollByFn).toHaveBeenCalledWith(0, -40);
|
|
972
1239
|
return [2 /*return*/];
|
|
973
1240
|
}
|
|
974
1241
|
});
|