Commit 7d566351 authored by dpapad's avatar dpapad Committed by Commit Bot

PDF Viewer: Add type checking for a few more tests.

 - printing_icon_test.js
 - viewport_test.js

Bug: 1000989
Change-Id: I61bf0423cca7bf6f3758ae0f7d870f29c64639a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2364793
Auto-Submit: dpapad <dpapad@chromium.org>
Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#800025}
parent c600f0ad
...@@ -28,8 +28,8 @@ js_type_check("closure_compile") { ...@@ -28,8 +28,8 @@ js_type_check("closure_compile") {
":nobeep_test", ":nobeep_test",
":page_change_test", ":page_change_test",
":params_parser_test", ":params_parser_test",
":printing_icon_test",
#":printing_icon_test",
#":redirects_fail_test", #":redirects_fail_test",
":test_util", ":test_util",
":title_test", ":title_test",
...@@ -39,8 +39,7 @@ js_type_check("closure_compile") { ...@@ -39,8 +39,7 @@ js_type_check("closure_compile") {
":viewer_pdf_sidenav_test", ":viewer_pdf_sidenav_test",
":viewer_pdf_toolbar_new_test", ":viewer_pdf_toolbar_new_test",
":viewer_thumbnail_bar_test", ":viewer_thumbnail_bar_test",
":viewport_test",
#":viewport_test",
":whitespace_title_test", ":whitespace_title_test",
#":zoom_manager_test", #":zoom_manager_test",
...@@ -153,6 +152,11 @@ js_library("page_change_test") { ...@@ -153,6 +152,11 @@ js_library("page_change_test") {
externs_list = [ "$externs_path/test.js" ] externs_list = [ "$externs_path/test.js" ]
} }
js_library("printing_icon_test") {
deps = [ "//chrome/browser/resources/pdf:pdf_viewer" ]
externs_list = [ "$externs_path/test.js" ]
}
js_library("params_parser_test") { js_library("params_parser_test") {
deps = [ deps = [
"//chrome/browser/resources/pdf:open_pdf_params_parser", "//chrome/browser/resources/pdf:open_pdf_params_parser",
...@@ -195,6 +199,15 @@ js_library("viewer_thumbnail_bar_test") { ...@@ -195,6 +199,15 @@ js_library("viewer_thumbnail_bar_test") {
externs_list = [ "$externs_path/test.js" ] externs_list = [ "$externs_path/test.js" ]
} }
js_library("viewport_test") {
deps = [
":test_util",
"//chrome/browser/resources/pdf:constants",
"//chrome/browser/resources/pdf:viewport",
]
externs_list = [ "$externs_path/test.js" ]
}
js_library("whitespace_title_test") { js_library("whitespace_title_test") {
externs_list = [ "$externs_path/test.js" ] externs_list = [ "$externs_path/test.js" ]
} }
...@@ -2,8 +2,12 @@ ...@@ -2,8 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {PDFViewerElement} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/pdf_viewer.js';
chrome.test.runTests([ chrome.test.runTests([
function testPrintingEnabled() { function testPrintingEnabled() {
const viewer = /** @type {!PDFViewerElement} */ (
document.body.querySelector('#viewer'));
const toolbar = viewer.shadowRoot.querySelector('#toolbar'); const toolbar = viewer.shadowRoot.querySelector('#toolbar');
toolbar.printingEnabled = true; toolbar.printingEnabled = true;
const printIcon = toolbar.shadowRoot.querySelector('#print'); const printIcon = toolbar.shadowRoot.querySelector('#print');
...@@ -12,6 +16,8 @@ chrome.test.runTests([ ...@@ -12,6 +16,8 @@ chrome.test.runTests([
chrome.test.succeed(); chrome.test.succeed();
}, },
function testPrintingDisabled() { function testPrintingDisabled() {
const viewer = /** @type {!PDFViewerElement} */ (
document.body.querySelector('#viewer'));
const toolbar = viewer.shadowRoot.querySelector('#toolbar'); const toolbar = viewer.shadowRoot.querySelector('#toolbar');
toolbar.printingEnabled = false; toolbar.printingEnabled = false;
const printIcon = toolbar.shadowRoot.querySelector('#print'); const printIcon = toolbar.shadowRoot.querySelector('#print');
......
...@@ -106,7 +106,7 @@ export class MockElement { ...@@ -106,7 +106,7 @@ export class MockElement {
/** /**
* @param {number} width * @param {number} width
* @param {number} height * @param {number} height
* @param {?HTMLDivElement} sizer * @param {?MockSizer} sizer
*/ */
constructor(width, height, sizer) { constructor(width, height, sizer) {
/** @type {number} */ /** @type {number} */
...@@ -115,7 +115,7 @@ export class MockElement { ...@@ -115,7 +115,7 @@ export class MockElement {
/** @type {number} */ /** @type {number} */
this.offsetHeight = height; this.offsetHeight = height;
/** @type {?Element} */ /** @type {?MockSizer} */
this.sizer = sizer; this.sizer = sizer;
if (sizer) { if (sizer) {
......
...@@ -10,11 +10,10 @@ import {getZoomableViewport, MockDocumentDimensions, MockElement, MockSizer, Moc ...@@ -10,11 +10,10 @@ import {getZoomableViewport, MockDocumentDimensions, MockElement, MockSizer, Moc
const tests = [ const tests = [
function testDocumentNeedsScrollbars() { function testDocumentNeedsScrollbars() {
const viewport = getZoomableViewport( const viewport = getZoomableViewport(
new MockElement(100, 100), new MockSizer(), 10, 1, 0); new MockElement(100, 100, null), new MockSizer(), 10, 1, 0);
let scrollbars;
viewport.setDocumentDimensions(new MockDocumentDimensions(90, 90)); viewport.setDocumentDimensions(new MockDocumentDimensions(90, 90));
scrollbars = viewport.documentNeedsScrollbars(1); let scrollbars = viewport.documentNeedsScrollbars(1);
chrome.test.assertFalse(scrollbars.vertical); chrome.test.assertFalse(scrollbars.vertical);
chrome.test.assertFalse(scrollbars.horizontal); chrome.test.assertFalse(scrollbars.horizontal);
...@@ -63,10 +62,10 @@ const tests = [ ...@@ -63,10 +62,10 @@ const tests = [
// Test the case when there is a toolbar at the top. // Test the case when there is a toolbar at the top.
const toolbarHeight = 10; const toolbarHeight = 10;
const viewport = getZoomableViewport( const viewport = getZoomableViewport(
new MockElement(100, 100), new MockSizer(), 10, 1, toolbarHeight); new MockElement(100, 100, null), new MockSizer(), 10, 1, toolbarHeight);
viewport.setDocumentDimensions(new MockDocumentDimensions(90, 90)); viewport.setDocumentDimensions(new MockDocumentDimensions(90, 90));
scrollbars = viewport.documentNeedsScrollbars(1); let scrollbars = viewport.documentNeedsScrollbars(1);
chrome.test.assertFalse(scrollbars.vertical); chrome.test.assertFalse(scrollbars.vertical);
chrome.test.assertFalse(scrollbars.horizontal); chrome.test.assertFalse(scrollbars.horizontal);
...@@ -175,7 +174,7 @@ const tests = [ ...@@ -175,7 +174,7 @@ const tests = [
}, },
function testGetMostVisiblePage() { function testGetMostVisiblePage() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const viewport = getZoomableViewport(mockWindow, new MockSizer(), 0, 1, 0); const viewport = getZoomableViewport(mockWindow, new MockSizer(), 0, 1, 0);
const documentDimensions = new MockDocumentDimensions(100, 100); const documentDimensions = new MockDocumentDimensions(100, 100);
...@@ -235,7 +234,7 @@ const tests = [ ...@@ -235,7 +234,7 @@ const tests = [
}, },
function testGetMostVisiblePageForTwoUpView() { function testGetMostVisiblePageForTwoUpView() {
const mockWindow = new MockElement(400, 500); const mockWindow = new MockElement(400, 500, null);
const viewport = getZoomableViewport(mockWindow, new MockSizer(), 0, 1, 0); const viewport = getZoomableViewport(mockWindow, new MockSizer(), 0, 1, 0);
const documentDimensions = new MockDocumentDimensions( const documentDimensions = new MockDocumentDimensions(
...@@ -272,7 +271,7 @@ const tests = [ ...@@ -272,7 +271,7 @@ const tests = [
}, },
function testFitToWidth() { function testFitToWidth() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
let viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); let viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -347,7 +346,7 @@ const tests = [ ...@@ -347,7 +346,7 @@ const tests = [
}, },
function testFitToPage() { function testFitToPage() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -452,16 +451,18 @@ const tests = [ ...@@ -452,16 +451,18 @@ const tests = [
// this case, the viewport should fit the document to the area below the // this case, the viewport should fit the document to the area below the
// toolbar, rather than the full window. // toolbar, rather than the full window.
function testFitToPageFixedToolbar() { function testFitToPageFixedToolbar() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const dummyContent = const dummyContent =
/** @type {!HTMLDivElement} */ (document.createElement('div')); /** @type {!HTMLDivElement} */ (document.createElement('div'));
document.body.appendChild(dummyContent); document.body.appendChild(dummyContent);
const toolbarHeight = 10; const toolbarHeight = 10;
/** @suppress {invalidCasts} */
const viewport = new Viewport( const viewport = new Viewport(
mockWindow, /** @type {!HTMLDivElement} */ (mockSizer), dummyContent, 0, /** @type {!HTMLElement} */ (mockWindow),
1, toolbarHeight, true); /** @type {!HTMLDivElement} */ (mockSizer), dummyContent, 0, 1,
toolbarHeight, true);
viewport.setZoomFactorRange([0.25, 0.4, 0.5, 1, 2]); viewport.setZoomFactorRange([0.25, 0.4, 0.5, 1, 2]);
viewport.setViewportChangedCallback(mockCallback.callback); viewport.setViewportChangedCallback(mockCallback.callback);
const documentDimensions = new MockDocumentDimensions(); const documentDimensions = new MockDocumentDimensions();
...@@ -518,7 +519,7 @@ const tests = [ ...@@ -518,7 +519,7 @@ const tests = [
}, },
function testFitToHeight() { function testFitToHeight() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -620,7 +621,7 @@ const tests = [ ...@@ -620,7 +621,7 @@ const tests = [
}, },
function testGoToNextPage() { function testGoToNextPage() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -662,7 +663,7 @@ const tests = [ ...@@ -662,7 +663,7 @@ const tests = [
}, },
function testGoToNextPageInTwoUpView() { function testGoToNextPageInTwoUpView() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -725,7 +726,7 @@ const tests = [ ...@@ -725,7 +726,7 @@ const tests = [
}, },
function testGoToPreviousPage() { function testGoToPreviousPage() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -767,7 +768,7 @@ const tests = [ ...@@ -767,7 +768,7 @@ const tests = [
}, },
function testGoToPreviousPageInTwoUpView() { function testGoToPreviousPageInTwoUpView() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -831,7 +832,7 @@ const tests = [ ...@@ -831,7 +832,7 @@ const tests = [
}, },
function testGoToPage() { function testGoToPage() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -872,7 +873,7 @@ const tests = [ ...@@ -872,7 +873,7 @@ const tests = [
}, },
function testGoToPageAndXY() { function testGoToPageAndXY() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -925,7 +926,7 @@ const tests = [ ...@@ -925,7 +926,7 @@ const tests = [
}, },
function testScrollTo() { function testScrollTo() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -979,7 +980,7 @@ const tests = [ ...@@ -979,7 +980,7 @@ const tests = [
}, },
function testScrollBy() { function testScrollBy() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -1027,7 +1028,7 @@ const tests = [ ...@@ -1027,7 +1028,7 @@ const tests = [
}, },
function testGetPageScreenRect() { function testGetPageScreenRect() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback(); const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -1070,7 +1071,7 @@ const tests = [ ...@@ -1070,7 +1071,7 @@ const tests = [
}, },
function testBeforeZoomAfterZoom() { function testBeforeZoomAfterZoom() {
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
...@@ -1095,7 +1096,7 @@ const tests = [ ...@@ -1095,7 +1096,7 @@ const tests = [
function testInitialSetDocumentDimensionsZoomConstrained() { function testInitialSetDocumentDimensionsZoomConstrained() {
const viewport = getZoomableViewport( const viewport = getZoomableViewport(
new MockElement(100, 100), new MockSizer(), 0, 1.2, 0); new MockElement(100, 100, null), new MockSizer(), 0, 1.2, 0);
viewport.setDocumentDimensions(new MockDocumentDimensions(50, 50)); viewport.setDocumentDimensions(new MockDocumentDimensions(50, 50));
chrome.test.assertEq(1.2, viewport.getZoom()); chrome.test.assertEq(1.2, viewport.getZoom());
chrome.test.succeed(); chrome.test.succeed();
...@@ -1103,7 +1104,7 @@ const tests = [ ...@@ -1103,7 +1104,7 @@ const tests = [
function testInitialSetDocumentDimensionsZoomUnconstrained() { function testInitialSetDocumentDimensionsZoomUnconstrained() {
const viewport = getZoomableViewport( const viewport = getZoomableViewport(
new MockElement(100, 100), new MockSizer(), 0, 3, 0); new MockElement(100, 100, null), new MockSizer(), 0, 3, 0);
viewport.setDocumentDimensions(new MockDocumentDimensions(50, 50)); viewport.setDocumentDimensions(new MockDocumentDimensions(50, 50));
chrome.test.assertEq(2, viewport.getZoom()); chrome.test.assertEq(2, viewport.getZoom());
chrome.test.succeed(); chrome.test.succeed();
...@@ -1111,7 +1112,7 @@ const tests = [ ...@@ -1111,7 +1112,7 @@ const tests = [
function testLayoutOptions() { function testLayoutOptions() {
const viewport = getZoomableViewport( const viewport = getZoomableViewport(
new MockElement(100, 100), new MockSizer(), 0, 1, 0); new MockElement(100, 100, null), new MockSizer(), 0, 1, 0);
chrome.test.assertEq(undefined, viewport.getLayoutOptions()); chrome.test.assertEq(undefined, viewport.getLayoutOptions());
...@@ -1129,7 +1130,7 @@ const tests = [ ...@@ -1129,7 +1130,7 @@ const tests = [
function testToolbarHeightOffset() { function testToolbarHeightOffset() {
const mockSizer = new MockSizer(); const mockSizer = new MockSizer();
const mockWindow = new MockElement(100, 100); const mockWindow = new MockElement(100, 100, null);
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 50); const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 50);
const documentDimensions = new MockDocumentDimensions(0, 0); const documentDimensions = new MockDocumentDimensions(0, 0);
documentDimensions.addPage(50, 500); documentDimensions.addPage(50, 500);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment