From 4ba5450be6945abcd4a3cf464ba52a0d11873f47 Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Wed, 29 Jun 2016 20:33:07 +0100 Subject: [PATCH] zoom and fit test --- .../src/assets/PDFJS.mock.ts | 1 - .../src/assets/PDFViewer.mock.ts | 1 - .../src/pdfViewer.component.spec.ts | 88 ++++++++++++++++++- .../src/pdfViewer.component.ts | 1 + 4 files changed, 88 insertions(+), 3 deletions(-) diff --git a/ng2-components/ng2-alfresco-viewer/src/assets/PDFJS.mock.ts b/ng2-components/ng2-alfresco-viewer/src/assets/PDFJS.mock.ts index dd9f6871bb..e7d54dacdf 100644 --- a/ng2-components/ng2-alfresco-viewer/src/assets/PDFJS.mock.ts +++ b/ng2-components/ng2-alfresco-viewer/src/assets/PDFJS.mock.ts @@ -25,6 +25,5 @@ export class PDFJSmock { } getPage(numberPage: number) { - console.log('getPage ${numberPage}'); } } diff --git a/ng2-components/ng2-alfresco-viewer/src/assets/PDFViewer.mock.ts b/ng2-components/ng2-alfresco-viewer/src/assets/PDFViewer.mock.ts index e9bbab730a..afeed2b2a6 100644 --- a/ng2-components/ng2-alfresco-viewer/src/assets/PDFViewer.mock.ts +++ b/ng2-components/ng2-alfresco-viewer/src/assets/PDFViewer.mock.ts @@ -42,6 +42,5 @@ export class PDFViewermock { _currentPageNumber: number = 0; update() { - console.log('update page'); } } diff --git a/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts b/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts index 9cce8752f6..6939c87ead 100644 --- a/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts +++ b/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.spec.ts @@ -257,6 +257,93 @@ describe('PdfViewer', () => { }); }); })); + + /* tslint:disable:max-line-length */ + it('zoomIn should increment the scale value', inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { + return tcb + .createAsync(PdfViewerComponent) + .then((fixture) => { + let component = fixture.componentInstance; + let element = fixture.nativeElement; + + spyOn(component, 'getPDFJS').and.returnValue(new PDFJSmock()); + spyOn(component, 'initPDFViewer').and.callFake(() => { + component.pdfViewer = new PDFViewermock(); + }); + + component.urlFile = 'fake-url-file'; + component.currentScale = 1; + + let zoomInButton = element.querySelector('#viewer-zoom-in-button'); + + component.ngOnChanges().then(() => { + fixture.detectChanges(); + zoomInButton.click(); + expect(component.currentScaleMode).toBe('auto'); + expect(component.currentScale).toBe(1.1); + }).catch((error) => { + expect(error).toBeUndefined(); + }); + }); + })); + + it('zoomOut should decrement the scale value', inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { + return tcb + .createAsync(PdfViewerComponent) + .then((fixture) => { + let component = fixture.componentInstance; + let element = fixture.nativeElement; + + spyOn(component, 'getPDFJS').and.returnValue(new PDFJSmock()); + spyOn(component, 'initPDFViewer').and.callFake(() => { + component.pdfViewer = new PDFViewermock(); + }); + + component.urlFile = 'fake-url-file'; + component.currentScale = 1; + + let zoomOutButton = element.querySelector('#viewer-zoom-out-button'); + + component.ngOnChanges().then(() => { + fixture.detectChanges(); + zoomOutButton.click(); + expect(component.currentScaleMode).toBe('auto'); + expect(component.currentScale).toBe(0.9); + }).catch((error) => { + expect(error).toBeUndefined(); + }); + }); + })); + + it('fit in button should toggle page-fit and auto scale mode', inject([TestComponentBuilder], (tcb: TestComponentBuilder) => { + return tcb + .createAsync(PdfViewerComponent) + .then((fixture) => { + let component = fixture.componentInstance; + let element = fixture.nativeElement; + + spyOn(component, 'getPDFJS').and.returnValue(new PDFJSmock()); + spyOn(component, 'initPDFViewer').and.callFake(() => { + component.pdfViewer = new PDFViewermock(); + }); + + component.urlFile = 'fake-url-file'; + component.currentScale = 1; + + let fitPage = element.querySelector('#viewer-scale-page-button'); + + component.ngOnChanges().then(() => { + fixture.detectChanges(); + expect(component.currentScaleMode).toBe('auto'); + fitPage.click(); + expect(component.currentScaleMode).toBe('page-fit'); + fitPage.click(); + expect(component.currentScaleMode).toBe('auto'); + }).catch((error) => { + expect(error).toBeUndefined(); + }); + }); + })); }); describe('Rezize interaction', () => { @@ -281,7 +368,6 @@ describe('PdfViewer', () => { expect(component.setScaleUpdatePages).toHaveBeenCalled(); }); })); - }); }); diff --git a/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.ts b/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.ts index da272d8104..b6a14f8d95 100644 --- a/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.ts +++ b/ng2-components/ng2-alfresco-viewer/src/pdfViewer.component.ts @@ -189,6 +189,7 @@ export class PdfViewerComponent { * @returns {boolean} */ isLandscape(width: number, height: number) { + console.log('width ' + width + 'height ' + height); return (width > height); }