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") {
":nobeep_test",
":page_change_test",
":params_parser_test",
":printing_icon_test",
#":printing_icon_test",
#":redirects_fail_test",
":test_util",
":title_test",
......@@ -39,8 +39,7 @@ js_type_check("closure_compile") {
":viewer_pdf_sidenav_test",
":viewer_pdf_toolbar_new_test",
":viewer_thumbnail_bar_test",
#":viewport_test",
":viewport_test",
":whitespace_title_test",
#":zoom_manager_test",
......@@ -153,6 +152,11 @@ js_library("page_change_test") {
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") {
deps = [
"//chrome/browser/resources/pdf:open_pdf_params_parser",
......@@ -195,6 +199,15 @@ js_library("viewer_thumbnail_bar_test") {
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") {
externs_list = [ "$externs_path/test.js" ]
}
......@@ -2,8 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {PDFViewerElement} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/pdf_viewer.js';
chrome.test.runTests([
function testPrintingEnabled() {
const viewer = /** @type {!PDFViewerElement} */ (
document.body.querySelector('#viewer'));
const toolbar = viewer.shadowRoot.querySelector('#toolbar');
toolbar.printingEnabled = true;
const printIcon = toolbar.shadowRoot.querySelector('#print');
......@@ -12,6 +16,8 @@ chrome.test.runTests([
chrome.test.succeed();
},
function testPrintingDisabled() {
const viewer = /** @type {!PDFViewerElement} */ (
document.body.querySelector('#viewer'));
const toolbar = viewer.shadowRoot.querySelector('#toolbar');
toolbar.printingEnabled = false;
const printIcon = toolbar.shadowRoot.querySelector('#print');
......
......@@ -106,7 +106,7 @@ export class MockElement {
/**
* @param {number} width
* @param {number} height
* @param {?HTMLDivElement} sizer
* @param {?MockSizer} sizer
*/
constructor(width, height, sizer) {
/** @type {number} */
......@@ -115,7 +115,7 @@ export class MockElement {
/** @type {number} */
this.offsetHeight = height;
/** @type {?Element} */
/** @type {?MockSizer} */
this.sizer = sizer;
if (sizer) {
......
......@@ -10,11 +10,10 @@ import {getZoomableViewport, MockDocumentDimensions, MockElement, MockSizer, Moc
const tests = [
function testDocumentNeedsScrollbars() {
const viewport = getZoomableViewport(
new MockElement(100, 100), new MockSizer(), 10, 1, 0);
let scrollbars;
new MockElement(100, 100, null), new MockSizer(), 10, 1, 0);
viewport.setDocumentDimensions(new MockDocumentDimensions(90, 90));
scrollbars = viewport.documentNeedsScrollbars(1);
let scrollbars = viewport.documentNeedsScrollbars(1);
chrome.test.assertFalse(scrollbars.vertical);
chrome.test.assertFalse(scrollbars.horizontal);
......@@ -63,10 +62,10 @@ const tests = [
// Test the case when there is a toolbar at the top.
const toolbarHeight = 10;
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));
scrollbars = viewport.documentNeedsScrollbars(1);
let scrollbars = viewport.documentNeedsScrollbars(1);
chrome.test.assertFalse(scrollbars.vertical);
chrome.test.assertFalse(scrollbars.horizontal);
......@@ -175,7 +174,7 @@ const tests = [
},
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 documentDimensions = new MockDocumentDimensions(100, 100);
......@@ -235,7 +234,7 @@ const tests = [
},
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 documentDimensions = new MockDocumentDimensions(
......@@ -272,7 +271,7 @@ const tests = [
},
function testFitToWidth() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
let viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -347,7 +346,7 @@ const tests = [
},
function testFitToPage() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -452,16 +451,18 @@ const tests = [
// this case, the viewport should fit the document to the area below the
// toolbar, rather than the full window.
function testFitToPageFixedToolbar() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const dummyContent =
/** @type {!HTMLDivElement} */ (document.createElement('div'));
document.body.appendChild(dummyContent);
const toolbarHeight = 10;
/** @suppress {invalidCasts} */
const viewport = new Viewport(
mockWindow, /** @type {!HTMLDivElement} */ (mockSizer), dummyContent, 0,
1, toolbarHeight, true);
/** @type {!HTMLElement} */ (mockWindow),
/** @type {!HTMLDivElement} */ (mockSizer), dummyContent, 0, 1,
toolbarHeight, true);
viewport.setZoomFactorRange([0.25, 0.4, 0.5, 1, 2]);
viewport.setViewportChangedCallback(mockCallback.callback);
const documentDimensions = new MockDocumentDimensions();
......@@ -518,7 +519,7 @@ const tests = [
},
function testFitToHeight() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -620,7 +621,7 @@ const tests = [
},
function testGoToNextPage() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -662,7 +663,7 @@ const tests = [
},
function testGoToNextPageInTwoUpView() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -725,7 +726,7 @@ const tests = [
},
function testGoToPreviousPage() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -767,7 +768,7 @@ const tests = [
},
function testGoToPreviousPageInTwoUpView() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -831,7 +832,7 @@ const tests = [
},
function testGoToPage() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -872,7 +873,7 @@ const tests = [
},
function testGoToPageAndXY() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -925,7 +926,7 @@ const tests = [
},
function testScrollTo() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -979,7 +980,7 @@ const tests = [
},
function testScrollBy() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -1027,7 +1028,7 @@ const tests = [
},
function testGetPageScreenRect() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const mockCallback = new MockViewportChangedCallback();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -1070,7 +1071,7 @@ const tests = [
},
function testBeforeZoomAfterZoom() {
const mockWindow = new MockElement(100, 100);
const mockWindow = new MockElement(100, 100, null);
const mockSizer = new MockSizer();
const viewport = getZoomableViewport(mockWindow, mockSizer, 0, 1, 0);
......@@ -1095,7 +1096,7 @@ const tests = [
function testInitialSetDocumentDimensionsZoomConstrained() {
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));
chrome.test.assertEq(1.2, viewport.getZoom());
chrome.test.succeed();
......@@ -1103,7 +1104,7 @@ const tests = [
function testInitialSetDocumentDimensionsZoomUnconstrained() {
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));
chrome.test.assertEq(2, viewport.getZoom());
chrome.test.succeed();
......@@ -1111,7 +1112,7 @@ const tests = [
function testLayoutOptions() {
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());
......@@ -1129,7 +1130,7 @@ const tests = [
function testToolbarHeightOffset() {
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 documentDimensions = new MockDocumentDimensions(0, 0);
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