@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.
@@ -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(/loading pdf/i)];
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(/loading pdf/i)).not.toBeInTheDocument();
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(/loading pdf/i)).not.toBeInTheDocument();
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(/loading pdf/i)];
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 PDF file/i)];
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(/loading pdf/i)).not.toBeInTheDocument();
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(/loading pdf/i)];
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(/loading pdf/i)).not.toBeInTheDocument();
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(/loading pdf/i)];
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(/loading pdf/i)).not.toBeInTheDocument();
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(/loading pdf/i)];
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(/loading pdf/i)).not.toBeInTheDocument();
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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(/loading pdf/i)];
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, ref;
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
- ref = react_1.default.createRef();
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(/loading pdf/i)];
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, ref, user, pageInput;
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
- ref = react_1.default.createRef();
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(/loading pdf/i)];
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, ref, user, pageInput;
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
- ref = react_1.default.createRef();
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(/loading pdf/i)];
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, ref, scrollIntoViewFn, user, pageInput;
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, ref: ref }), {
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(/loading pdf/i)];
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, ref, scrollIntoViewFn, user, pageInput;
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, ref: ref }), {
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(/loading pdf/i)];
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, ref, pageInput, page2Element;
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
- ref = react_1.default.createRef();
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(/loading pdf/i)];
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, ref, user, pageInput, page2Element;
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
- ref = react_1.default.createRef();
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(/loading pdf/i)];
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 makes user exit from the preview, even when focus is on input', function () { return __awaiter(void 0, void 0, void 0, function () {
944
- var onClose, ref, user, pageInput;
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
- ref = react_1.default.createRef();
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(/loading pdf/i)];
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
  });