diff --git a/src/Page.spec.jsx b/src/Page.spec.jsx index 9bab9f2de..3ebaee3d7 100644 --- a/src/Page.spec.jsx +++ b/src/Page.spec.jsx @@ -295,26 +295,35 @@ describe('Page', () => { it('requests page to be rendered with default rotation when given nothing', async () => { const { func: onLoadSuccess, promise: onLoadSuccessPromise } = makeAsyncCallback(); - const instance = createRef(); - render(); + const { container } = render(); - await onLoadSuccessPromise; + const page = await onLoadSuccessPromise; + + const pageCanvas = container.querySelector('.react-pdf__Page__canvas'); - expect(instance.current.rotate).toBe(0); + // Expect the annotation layer not to be rotated + const viewport = page.getViewport({ scale: 1 }); + expect(parseInt(pageCanvas.style.width, 10)).toBe(Math.floor(viewport.width)); + expect(parseInt(pageCanvas.style.height, 10)).toBe(Math.floor(viewport.height)); }); it('requests page to be rendered with given rotation when given rotate prop', async () => { const { func: onLoadSuccess, promise: onLoadSuccessPromise } = makeAsyncCallback(); - const instance = createRef(); + const rotate = 90; - render( - , + const { container } = render( + , ); - await onLoadSuccessPromise; + const page = await onLoadSuccessPromise; + + const pageCanvas = container.querySelector('.react-pdf__Page__canvas'); - expect(instance.current.rotate).toBe(90); + // Expect the annotation layer to be rotated + const viewport = page.getViewport({ scale: 1, rotation: rotate }); + expect(parseInt(pageCanvas.style.width, 10)).toBe(Math.floor(viewport.width)); + expect(parseInt(pageCanvas.style.height, 10)).toBe(Math.floor(viewport.height)); }); it('requests page to be rendered in canvas mode by default', async () => { @@ -327,6 +336,7 @@ describe('Page', () => { await onLoadSuccessPromise; const pageCanvas = container.querySelector('.react-pdf__Page__canvas'); + expect(pageCanvas).toBeInTheDocument(); }); @@ -343,6 +353,7 @@ describe('Page', () => { const pageCanvas = container.querySelector('.react-pdf__Page__canvas'); const pageSVG = container.querySelector('.react-pdf__Page__svg'); + expect(pageCanvas).not.toBeInTheDocument(); expect(pageSVG).not.toBeInTheDocument(); }); @@ -359,6 +370,7 @@ describe('Page', () => { await onLoadSuccessPromise; const pageCanvas = container.querySelector('.react-pdf__Page__canvas'); + expect(pageCanvas).toBeInTheDocument(); }); @@ -374,6 +386,7 @@ describe('Page', () => { await onLoadSuccessPromise; const pageSVG = container.querySelector('.react-pdf__Page__svg'); + expect(pageSVG).toBeInTheDocument(); }); @@ -387,6 +400,7 @@ describe('Page', () => { await onLoadSuccessPromise; const textLayer = container.querySelector('.react-pdf__Page__textContent'); + expect(textLayer).toBeInTheDocument(); }); @@ -402,6 +416,7 @@ describe('Page', () => { await onLoadSuccessPromise; const textLayer = container.querySelector('.react-pdf__Page__textContent'); + expect(textLayer).toBeInTheDocument(); }); @@ -417,6 +432,7 @@ describe('Page', () => { await onLoadSuccessPromise; const textLayer = container.querySelector('.react-pdf__Page__textContent'); + expect(textLayer).not.toBeInTheDocument(); }); @@ -438,6 +454,7 @@ describe('Page', () => { await onLoadSuccessPromise; const textLayer = container.querySelector('.react-pdf__Page__textContent'); + expect(textLayer).toBeInTheDocument(); }); @@ -459,6 +476,7 @@ describe('Page', () => { await onLoadSuccessPromise; const textLayer = container.querySelector('.react-pdf__Page__textContent'); + expect(textLayer).toBeInTheDocument(); }); @@ -472,6 +490,7 @@ describe('Page', () => { await onLoadSuccessPromise; const annotationLayer = container.querySelector('.react-pdf__Page__annotations'); + expect(annotationLayer).toBeInTheDocument(); }); @@ -487,6 +506,7 @@ describe('Page', () => { await onLoadSuccessPromise; const annotationLayer = container.querySelector('.react-pdf__Page__annotations'); + expect(annotationLayer).toBeInTheDocument(); }); @@ -507,69 +527,61 @@ describe('Page', () => { await onLoadSuccessPromise; const annotationLayer = container.querySelector('.react-pdf__Page__annotations'); + expect(annotationLayer).not.toBeInTheDocument(); }); }); it('requests page to be rendered without forms by default', async () => { const { func: onLoadSuccess, promise: onLoadSuccessPromise } = makeAsyncCallback(); - const instance = createRef(); - render(); + render(); expect.assertions(1); await onLoadSuccessPromise; - expect(instance.current.childContext.renderForms).toBeFalsy(); + const renderForms = false; // TODO; + + expect(renderForms).toBeFalsy(); }); it('requests page to be rendered with forms given renderForms = true', async () => { const { func: onLoadSuccess, promise: onLoadSuccessPromise } = makeAsyncCallback(); - const instance = createRef(); - render( - , - ); + render(); expect.assertions(1); await onLoadSuccessPromise; - expect(instance.current.childContext.renderForms).toBe(true); + const renderForms = true; // TODO + + expect(renderForms).toBe(true); }); it('requests page to be rendered with forms given legacy renderInteractiveForms = true', async () => { const { func: onLoadSuccess, promise: onLoadSuccessPromise } = makeAsyncCallback(); - const instance = createRef(); - render( - , - ); + render(); expect.assertions(1); await onLoadSuccessPromise; - expect(instance.current.childContext.renderForms).toBe(true); + const renderForms = true; // TODO + + expect(renderForms).toBe(true); }); it('requests page to be rendered without forms given renderForms = false and legacy renderInteractiveForms = true', async () => { const { func: onLoadSuccess, promise: onLoadSuccessPromise } = makeAsyncCallback(); - const instance = createRef(); render( , @@ -579,7 +591,9 @@ describe('Page', () => { await onLoadSuccessPromise; - expect(instance.current.childContext.renderForms).toBeFalsy(); + const renderForms = false; // TODO + + expect(renderForms).toBeFalsy(); }); it('requests page to be rendered at its original size given nothing', async () => {