Commit e470e427 authored by dpapad's avatar dpapad Committed by Commit Bot

PDF Viewer tests: Add PRESUBMIT checks enforcing ESLint/clang-format.

These are the same checks with chrome/test/data/webui/.
Also fixing existing violations.

Bug: 720034,1005029
Change-Id: Ic3db4eab01ce109da7f24c9b6f2480d522b3dfb9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1826010
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: default avatarDan Beam <dbeam@chromium.org>
Auto-Submit: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#700447}
parent c2bccea3
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module.exports = {
'env': {'browser': true, 'es6': true},
'rules': {
'no-restricted-properties': 'off',
},
};
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
def _CommonChecks(input_api, output_api):
results = []
try:
import sys
old_sys_path = sys.path[:]
cwd = input_api.PresubmitLocalPath()
sys.path += [input_api.os_path.join(cwd, '..', '..', '..', '..', 'tools')]
import web_dev_style.presubmit_support
results += web_dev_style.presubmit_support.CheckStyleESLint(
input_api, output_api)
finally:
sys.path = old_sys_path
results += input_api.canned_checks.CheckPatchFormatted(input_api, output_api,
check_js=True)
return results
def CheckChangeOnUpload(input_api, output_api):
return _CommonChecks(input_api, output_api)
def CheckChangeOnCommit(input_api, output_api):
return _CommonChecks(input_api, output_api)
...@@ -51,8 +51,7 @@ chrome.test.runTests([ ...@@ -51,8 +51,7 @@ chrome.test.runTests([
// Enter annotation mode. // Enter annotation mode.
$('toolbar').toggleAnnotation(); $('toolbar').toggleAnnotation();
await viewer.loaded; await viewer.loaded;
chrome.test.assertEq( chrome.test.assertEq('VIEWER-INK-HOST', contentElement().tagName);
'VIEWER-INK-HOST', contentElement().tagName);
}); });
}, },
function testViewportToCameraConversion() { function testViewportToCameraConversion() {
......
...@@ -16,8 +16,8 @@ var tests = [ ...@@ -16,8 +16,8 @@ var tests = [
viewer.viewport.setZoom(1); viewer.viewport.setZoom(1);
var sizer = document.getElementById('sizer'); var sizer = document.getElementById('sizer');
chrome.test.assertEq(826, sizer.offsetWidth); chrome.test.assertEq(826, sizer.offsetWidth);
chrome.test.assertEq(1066 + viewer.viewport.topToolbarHeight_, chrome.test.assertEq(
sizer.offsetHeight); 1066 + viewer.viewport.topToolbarHeight_, sizer.offsetHeight);
chrome.test.succeed(); chrome.test.succeed();
}, },
......
...@@ -12,7 +12,7 @@ var tests = [ ...@@ -12,7 +12,7 @@ var tests = [
'viewer-pdf-toolbar', 'viewer-pdf-toolbar',
'viewer-zoom-toolbar', 'viewer-zoom-toolbar',
'viewer-password-screen', 'viewer-password-screen',
'viewer-error-screen' 'viewer-error-screen',
]; ];
for (var i = 0; i < elementNames.length; i++) { for (var i = 0; i < elementNames.length; i++) {
var elements = document.body.querySelectorAll(elementNames[i]); var elements = document.body.querySelectorAll(elementNames[i]);
...@@ -72,20 +72,19 @@ var tests = [ ...@@ -72,20 +72,19 @@ var tests = [
// Generate pointer event manually, as MockInteractions doesn't include // Generate pointer event manually, as MockInteractions doesn't include
// this. // this.
plugin.dispatchEvent(new PointerEvent('pointerdown', {bubbles: true})); plugin.dispatchEvent(new PointerEvent('pointerdown', {bubbles: true}));
chrome.test.assertFalse(dropdown.dropdownOpen, chrome.test.assertFalse(
"Clicking plugin closes dropdown"); dropdown.dropdownOpen, 'Clicking plugin closes dropdown');
dropdown.$.button.click(); dropdown.$.button.click();
chrome.test.assertTrue(dropdown.dropdownOpen); chrome.test.assertTrue(dropdown.dropdownOpen);
MockInteractions.pressAndReleaseKeyOn(document, ESC_KEY); MockInteractions.pressAndReleaseKeyOn(document, ESC_KEY);
chrome.test.assertFalse(dropdown.dropdownOpen, chrome.test.assertFalse(
"Escape key closes dropdown"); dropdown.dropdownOpen, 'Escape key closes dropdown');
chrome.test.assertTrue(toolbar.opened, chrome.test.assertTrue(
"First escape key does not close toolbar"); toolbar.opened, 'First escape key does not close toolbar');
MockInteractions.pressAndReleaseKeyOn(document, ESC_KEY); MockInteractions.pressAndReleaseKeyOn(document, ESC_KEY);
chrome.test.assertFalse(toolbar.opened, chrome.test.assertFalse(toolbar.opened, 'Second escape key closes toolbar');
"Second escape key closes toolbar");
chrome.test.succeed(); chrome.test.succeed();
}, },
......
...@@ -19,12 +19,9 @@ var tests = [ ...@@ -19,12 +19,9 @@ var tests = [
var firstNestedBookmark = firstBookmark.children[0]; var firstNestedBookmark = firstBookmark.children[0];
// Check titles. // Check titles.
chrome.test.assertEq('First Section', chrome.test.assertEq('First Section', firstBookmark.title);
firstBookmark.title); chrome.test.assertEq('First Subsection', firstNestedBookmark.title);
chrome.test.assertEq('First Subsection', chrome.test.assertEq('Second Section', secondBookmark.title);
firstNestedBookmark.title);
chrome.test.assertEq('Second Section',
secondBookmark.title);
chrome.test.assertEq('URI Bookmark', uriBookmark.title); chrome.test.assertEq('URI Bookmark', uriBookmark.title);
// Check bookmark fields. // Check bookmark fields.
...@@ -63,14 +60,14 @@ var tests = [ ...@@ -63,14 +60,14 @@ var tests = [
var rootBookmarks = var rootBookmarks =
bookmarkContent.shadowRoot.querySelectorAll('viewer-bookmark'); bookmarkContent.shadowRoot.querySelectorAll('viewer-bookmark');
chrome.test.assertEq(3, rootBookmarks.length, "three root bookmarks"); chrome.test.assertEq(3, rootBookmarks.length, 'three root bookmarks');
rootBookmarks[0].$.expand.click(); rootBookmarks[0].$.expand.click();
Polymer.dom.flush(); Polymer.dom.flush();
var subBookmarks = var subBookmarks =
rootBookmarks[0].shadowRoot.querySelectorAll('viewer-bookmark'); rootBookmarks[0].shadowRoot.querySelectorAll('viewer-bookmark');
chrome.test.assertEq(1, subBookmarks.length, "one sub bookmark"); chrome.test.assertEq(1, subBookmarks.length, 'one sub bookmark');
var lastPageChange; var lastPageChange;
var lastXChange; var lastXChange;
...@@ -107,10 +104,10 @@ var tests = [ ...@@ -107,10 +104,10 @@ var tests = [
chrome.test.assertEq(expectedEvent.uri, lastUriNavigation); chrome.test.assertEq(expectedEvent.uri, lastUriNavigation);
} }
testTapTarget(rootBookmarks[0].$.item, {page: 0, x: 133, y: 667}) testTapTarget(rootBookmarks[0].$.item, {page: 0, x: 133, y: 667});
testTapTarget(subBookmarks[0].$.item, {page: 1, x: 133, y: 667}) testTapTarget(subBookmarks[0].$.item, {page: 1, x: 133, y: 667});
testTapTarget(rootBookmarks[1].$.item, {page: 2, x: 133, y: 667}) testTapTarget(rootBookmarks[1].$.item, {page: 2, x: 133, y: 667});
testTapTarget(rootBookmarks[2].$.item, {uri: "http://www.chromium.org"}) testTapTarget(rootBookmarks[2].$.item, {uri: 'http://www.chromium.org'});
chrome.test.succeed(); chrome.test.succeed();
} }
......
...@@ -12,22 +12,20 @@ chrome.test.runTests(function() { ...@@ -12,22 +12,20 @@ chrome.test.runTests(function() {
['touchmove', []], ['touchmove', []],
['touchend', []], ['touchend', []],
['touchcancel', []], ['touchcancel', []],
['wheel', []] ['wheel', []],
]); ]);
} }
addEventListener(type, listener, options) { addEventListener(type, listener, options) {
if (this.listeners.has(type)) { if (this.listeners.has(type)) {
this.listeners.get(type).push({ this.listeners.get(type).push({listener: listener, options: options});
listener: listener,
options: options
});
} }
} }
sendEvent(event) { sendEvent(event) {
for (let l of this.listeners.get(event.type)) for (let l of this.listeners.get(event.type)) {
l.listener(event); l.listener(event);
}
} }
} }
...@@ -79,43 +77,43 @@ chrome.test.runTests(function() { ...@@ -79,43 +77,43 @@ chrome.test.runTests(function() {
stubElement.sendEvent(new MockTouchEvent('touchstart', [ stubElement.sendEvent(new MockTouchEvent('touchstart', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 0, clientY: 2} {clientX: 0, clientY: 2},
])); ]));
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchstart', {type: 'pinchstart', center: {x: 0, y: 1}}, pinchListener.lastEvent);
center: {x: 0, y: 1}
}, pinchListener.lastEvent);
stubElement.sendEvent(new MockTouchEvent('touchmove', [ stubElement.sendEvent(new MockTouchEvent('touchmove', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 0, clientY: 4} {clientX: 0, clientY: 4},
])); ]));
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchupdate', {
scaleRatio: 2, type: 'pinchupdate',
direction: 'in', scaleRatio: 2,
startScaleRatio: 2, direction: 'in',
center: {x: 0, y: 2} startScaleRatio: 2,
}, pinchListener.lastEvent); center: {x: 0, y: 2}
},
pinchListener.lastEvent);
stubElement.sendEvent(new MockTouchEvent('touchmove', [ stubElement.sendEvent(new MockTouchEvent('touchmove', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 0, clientY: 8} {clientX: 0, clientY: 8},
])); ]));
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchupdate', {
scaleRatio: 2, type: 'pinchupdate',
direction: 'in', scaleRatio: 2,
startScaleRatio: 4, direction: 'in',
center: {x: 0, y: 4} startScaleRatio: 4,
}, pinchListener.lastEvent); center: {x: 0, y: 4}
},
pinchListener.lastEvent);
stubElement.sendEvent(new MockTouchEvent('touchend', [])); stubElement.sendEvent(new MockTouchEvent('touchend', []));
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchend', {type: 'pinchend', startScaleRatio: 4, center: {x: 0, y: 4}},
startScaleRatio: 4, pinchListener.lastEvent);
center: {x: 0, y: 4}
}, pinchListener.lastEvent);
chrome.test.succeed(); chrome.test.succeed();
}, },
...@@ -127,45 +125,45 @@ chrome.test.runTests(function() { ...@@ -127,45 +125,45 @@ chrome.test.runTests(function() {
stubElement.sendEvent(new MockTouchEvent('touchstart', [ stubElement.sendEvent(new MockTouchEvent('touchstart', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 0, clientY: 2} {clientX: 0, clientY: 2},
])); ]));
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchstart', {type: 'pinchstart', center: {x: 0, y: 1}}, pinchListener.lastEvent);
center: {x: 0, y: 1}
}, pinchListener.lastEvent);
stubElement.sendEvent(new MockTouchEvent('touchmove', [ stubElement.sendEvent(new MockTouchEvent('touchmove', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 0, clientY: 4} {clientX: 0, clientY: 4},
])); ]));
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchupdate', {
scaleRatio: 2, type: 'pinchupdate',
direction: 'in', scaleRatio: 2,
startScaleRatio: 2, direction: 'in',
center: {x: 0, y: 2} startScaleRatio: 2,
}, pinchListener.lastEvent); center: {x: 0, y: 2}
},
pinchListener.lastEvent);
stubElement.sendEvent(new MockTouchEvent('touchmove', [ stubElement.sendEvent(new MockTouchEvent('touchmove', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 0, clientY: 2} {clientX: 0, clientY: 2},
])); ]));
// This should be part of the same gesture as an update. // This should be part of the same gesture as an update.
// A change in direction should not end the gesture and start a new one. // A change in direction should not end the gesture and start a new one.
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchupdate', {
scaleRatio: 0.5, type: 'pinchupdate',
direction: 'out', scaleRatio: 0.5,
startScaleRatio: 1, direction: 'out',
center: {x: 0, y: 1} startScaleRatio: 1,
}, pinchListener.lastEvent); center: {x: 0, y: 1}
},
pinchListener.lastEvent);
stubElement.sendEvent(new MockTouchEvent('touchend', [])); stubElement.sendEvent(new MockTouchEvent('touchend', []));
chrome.test.assertEq({ chrome.test.assertEq(
type: 'pinchend', {type: 'pinchend', startScaleRatio: 1, center: {x: 0, y: 1}},
startScaleRatio: 1, pinchListener.lastEvent);
center: {x: 0, y: 1}
}, pinchListener.lastEvent);
chrome.test.succeed(); chrome.test.succeed();
}, },
...@@ -266,8 +264,8 @@ chrome.test.runTests(function() { ...@@ -266,8 +264,8 @@ chrome.test.runTests(function() {
// passive, we must set the value explicitly. // passive, we must set the value explicitly.
for (let l of stubElement.listeners.get('wheel')) { for (let l of stubElement.listeners.get('wheel')) {
let options = l.options; let options = l.options;
chrome.test.assertTrue(!!options && chrome.test.assertTrue(
typeof(options.passive) == 'boolean'); !!options && typeof (options.passive) == 'boolean');
chrome.test.assertFalse(options.passive); chrome.test.assertFalse(options.passive);
} }
...@@ -291,34 +289,39 @@ chrome.test.runTests(function() { ...@@ -291,34 +289,39 @@ chrome.test.runTests(function() {
let gestureDetector = new GestureDetector(stubElement); let gestureDetector = new GestureDetector(stubElement);
chrome.test.assertFalse(gestureDetector.wasTwoFingerTouch(), chrome.test.assertFalse(
"Should not have two finger touch before first touch event."); gestureDetector.wasTwoFingerTouch(),
'Should not have two finger touch before first touch event.');
stubElement.sendEvent(new MockTouchEvent('touchstart', [ stubElement.sendEvent(new MockTouchEvent('touchstart', [
{clientX: 0, clientY: 0} {clientX: 0, clientY: 0},
])); ]));
chrome.test.assertFalse(gestureDetector.wasTwoFingerTouch(), chrome.test.assertFalse(
"Should not have a two finger touch with one touch."); gestureDetector.wasTwoFingerTouch(),
'Should not have a two finger touch with one touch.');
stubElement.sendEvent(new MockTouchEvent('touchstart', [ stubElement.sendEvent(new MockTouchEvent('touchstart', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 2, clientY: 2} {clientX: 2, clientY: 2},
])); ]));
chrome.test.assertTrue(gestureDetector.wasTwoFingerTouch(), chrome.test.assertTrue(
"Should have a two finger touch."); gestureDetector.wasTwoFingerTouch(),
'Should have a two finger touch.');
// Make sure we keep |wasTwoFingerTouch| true after the end event. // Make sure we keep |wasTwoFingerTouch| true after the end event.
stubElement.sendEvent(new MockTouchEvent('touchend', [])); stubElement.sendEvent(new MockTouchEvent('touchend', []));
chrome.test.assertTrue(gestureDetector.wasTwoFingerTouch(), chrome.test.assertTrue(
"Should maintain two finger touch after touchend."); gestureDetector.wasTwoFingerTouch(),
'Should maintain two finger touch after touchend.');
stubElement.sendEvent(new MockTouchEvent('touchstart', [ stubElement.sendEvent(new MockTouchEvent('touchstart', [
{clientX: 0, clientY: 0}, {clientX: 0, clientY: 0},
{clientX: 2, clientY: 2}, {clientX: 2, clientY: 2},
{clientX: 4, clientY: 4} {clientX: 4, clientY: 4},
])); ]));
chrome.test.assertFalse(gestureDetector.wasTwoFingerTouch(), chrome.test.assertFalse(
"Should not have two finger touch with 3 touches."); gestureDetector.wasTwoFingerTouch(),
'Should not have two finger touch with 3 touches.');
chrome.test.succeed(); chrome.test.succeed();
} }
......
...@@ -53,12 +53,12 @@ var tests = [ ...@@ -53,12 +53,12 @@ var tests = [
selector.pageNo = e.detail.page + 1; selector.pageNo = e.detail.page + 1;
}); });
changeInput("1000"); changeInput('1000');
changeInput("1234"); changeInput('1234');
changeInput("abcd"); changeInput('abcd');
changeInput("12pp"); changeInput('12pp');
changeInput("3.14"); changeInput('3.14');
changeInput("3000"); changeInput('3000');
chrome.test.assertEq(4, navigatedPages.length); chrome.test.assertEq(4, navigatedPages.length);
// The event page number is 0-based. // The event page number is 0-based.
...@@ -131,7 +131,7 @@ var tests = [ ...@@ -131,7 +131,7 @@ var tests = [
var rootBookmarks = var rootBookmarks =
bookmarkContent.shadowRoot.querySelectorAll('viewer-bookmark'); bookmarkContent.shadowRoot.querySelectorAll('viewer-bookmark');
chrome.test.assertEq(1, rootBookmarks.length, "one root bookmark"); chrome.test.assertEq(1, rootBookmarks.length, 'one root bookmark');
var rootBookmark = rootBookmarks[0]; var rootBookmark = rootBookmarks[0];
rootBookmark.$.expand.click(); rootBookmark.$.expand.click();
...@@ -139,9 +139,9 @@ var tests = [ ...@@ -139,9 +139,9 @@ var tests = [
var subBookmarks = var subBookmarks =
rootBookmark.shadowRoot.querySelectorAll('viewer-bookmark'); rootBookmark.shadowRoot.querySelectorAll('viewer-bookmark');
chrome.test.assertEq(2, subBookmarks.length, "two sub bookmarks"); chrome.test.assertEq(2, subBookmarks.length, 'two sub bookmarks');
chrome.test.assertEq(1, subBookmarks[1].depth, chrome.test.assertEq(
"sub bookmark depth correct"); 1, subBookmarks[1].depth, 'sub bookmark depth correct');
var lastPageChange; var lastPageChange;
rootBookmark.addEventListener('change-page', function(e) { rootBookmark.addEventListener('change-page', function(e) {
......
...@@ -15,13 +15,12 @@ chrome.test.runTests(function() { ...@@ -15,13 +15,12 @@ chrome.test.runTests(function() {
chrome.test.assertEq('PDF.Actions', metric.metricName); chrome.test.assertEq('PDF.Actions', metric.metricName);
chrome.test.assertEq('test_histogram_log', metric.type); chrome.test.assertEq('test_histogram_log', metric.type);
chrome.test.assertEq(1, metric.min); chrome.test.assertEq(1, metric.min);
chrome.test.assertEq( chrome.test.assertEq(PDFMetrics.UserAction.NUMBER_OF_ACTIONS, metric.max);
PDFMetrics.UserAction.NUMBER_OF_ACTIONS, metric.max);
chrome.test.assertEq( chrome.test.assertEq(
PDFMetrics.UserAction.NUMBER_OF_ACTIONS + 1, metric.buckets); PDFMetrics.UserAction.NUMBER_OF_ACTIONS + 1, metric.buckets);
this.actionCounter[value] = (this.actionCounter[value] + 1) || 1; this.actionCounter[value] = (this.actionCounter[value] + 1) || 1;
} }
}; }
return [ return [
function testMetricsDocumentOpened() { function testMetricsDocumentOpened() {
...@@ -42,8 +41,9 @@ chrome.test.runTests(function() { ...@@ -42,8 +41,9 @@ chrome.test.runTests(function() {
chrome.metricsPrivate = new MockMetricsPrivate(); chrome.metricsPrivate = new MockMetricsPrivate();
PDFMetrics.record(PDFMetrics.UserAction.DOCUMENT_OPENED); PDFMetrics.record(PDFMetrics.UserAction.DOCUMENT_OPENED);
for (var i = 0; i < 4; i++) for (var i = 0; i < 4; i++) {
PDFMetrics.record(PDFMetrics.UserAction.ROTATE); PDFMetrics.record(PDFMetrics.UserAction.ROTATE);
}
chrome.test.assertEq( chrome.test.assertEq(
{ {
......
...@@ -42,11 +42,7 @@ class MockNavigatorDelegate { ...@@ -42,11 +42,7 @@ class MockNavigatorDelegate {
* and that the navigation to |expectedResultUrl| happened. * and that the navigation to |expectedResultUrl| happened.
*/ */
function doNavigationUrlTest( function doNavigationUrlTest(
navigator, navigator, url, disposition, expectedResultUrl, viewportChangedCallback,
url,
disposition,
expectedResultUrl,
viewportChangedCallback,
navigatorDelegate) { navigatorDelegate) {
viewportChangedCallback.reset(); viewportChangedCallback.reset();
navigatorDelegate.reset(); navigatorDelegate.reset();
...@@ -114,14 +110,15 @@ var tests = [ ...@@ -114,14 +110,15 @@ var tests = [
viewport.setViewportChangedCallback(mockCallback.callback); viewport.setViewportChangedCallback(mockCallback.callback);
var paramsParser = new OpenPdfParamsParser(function(destination) { var paramsParser = new OpenPdfParamsParser(function(destination) {
if (destination == 'US') if (destination == 'US') {
paramsParser.onNamedDestinationReceived(0); paramsParser.onNamedDestinationReceived(0);
else if (destination == 'UY') } else if (destination == 'UY') {
paramsParser.onNamedDestinationReceived(2); paramsParser.onNamedDestinationReceived(2);
else } else {
paramsParser.onNamedDestinationReceived(-1); paramsParser.onNamedDestinationReceived(-1);
}
}); });
var url = "http://xyz.pdf"; var url = 'http://xyz.pdf';
var navigatorDelegate = new MockNavigatorDelegate(); var navigatorDelegate = new MockNavigatorDelegate();
var navigator = var navigator =
...@@ -182,64 +179,44 @@ var tests = [ ...@@ -182,64 +179,44 @@ var tests = [
* similar heuristics as Adobe Acrobat Reader. * similar heuristics as Adobe Acrobat Reader.
*/ */
function testNavigateForLinksWithoutScheme() { function testNavigateForLinksWithoutScheme() {
var url = "http://www.example.com/subdir/xyz.pdf"; var url = 'http://www.example.com/subdir/xyz.pdf';
// Sanity check. // Sanity check.
doNavigationUrlTests( doNavigationUrlTests(
url, url, 'https://www.foo.com/bar.pdf', 'https://www.foo.com/bar.pdf');
'https://www.foo.com/bar.pdf',
'https://www.foo.com/bar.pdf');
// Open relative links. // Open relative links.
doNavigationUrlTests( doNavigationUrlTests(
url, url, 'foo/bar.pdf', 'http://www.example.com/subdir/foo/bar.pdf');
'foo/bar.pdf',
'http://www.example.com/subdir/foo/bar.pdf');
doNavigationUrlTests( doNavigationUrlTests(
url, url, 'foo.com/bar.pdf',
'foo.com/bar.pdf',
'http://www.example.com/subdir/foo.com/bar.pdf'); 'http://www.example.com/subdir/foo.com/bar.pdf');
doNavigationUrlTests( doNavigationUrlTests(
url, url, '../www.foo.com/bar.pdf',
'../www.foo.com/bar.pdf',
'http://www.example.com/www.foo.com/bar.pdf'); 'http://www.example.com/www.foo.com/bar.pdf');
// Open an absolute link. // Open an absolute link.
doNavigationUrlTests( doNavigationUrlTests(
url, url, '/foodotcom/bar.pdf', 'http://www.example.com/foodotcom/bar.pdf');
'/foodotcom/bar.pdf',
'http://www.example.com/foodotcom/bar.pdf');
// Open a http url without a scheme. // Open a http url without a scheme.
doNavigationUrlTests( doNavigationUrlTests(
url, url, 'www.foo.com/bar.pdf', 'http://www.foo.com/bar.pdf');
'www.foo.com/bar.pdf',
'http://www.foo.com/bar.pdf');
// Test three dots. // Test three dots.
doNavigationUrlTests( doNavigationUrlTests(
url, url, '.../bar.pdf', 'http://www.example.com/subdir/.../bar.pdf');
'.../bar.pdf',
'http://www.example.com/subdir/.../bar.pdf');
// Test forward slashes. // Test forward slashes.
doNavigationUrlTests(url, '..\\bar.pdf', 'http://www.example.com/bar.pdf');
doNavigationUrlTests( doNavigationUrlTests(
url, url, '.\\bar.pdf', 'http://www.example.com/subdir/bar.pdf');
'..\\bar.pdf',
'http://www.example.com/bar.pdf');
doNavigationUrlTests( doNavigationUrlTests(
url, url, '\\bar.pdf', 'http://www.example.com/subdir//bar.pdf');
'.\\bar.pdf',
'http://www.example.com/subdir/bar.pdf');
doNavigationUrlTests(
url,
'\\bar.pdf',
'http://www.example.com/subdir//bar.pdf');
// Regression test for https://crbug.com/569040 // Regression test for https://crbug.com/569040
doNavigationUrlTests( doNavigationUrlTests(
url, url, 'http://something.else/foo#page=5',
'http://something.else/foo#page=5',
'http://something.else/foo#page=5'); 'http://something.else/foo#page=5');
chrome.test.succeed(); chrome.test.succeed();
...@@ -249,13 +226,11 @@ var tests = [ ...@@ -249,13 +226,11 @@ var tests = [
* a file:/// url as the current location. * a file:/// url as the current location.
*/ */
function testNavigateFromLocalFile() { function testNavigateFromLocalFile() {
var url = "file:///some/path/to/myfile.pdf"; var url = 'file:///some/path/to/myfile.pdf';
// Open an absolute link. // Open an absolute link.
doNavigationUrlTests( doNavigationUrlTests(
url, url, '/foodotcom/bar.pdf', 'file:///foodotcom/bar.pdf');
'/foodotcom/bar.pdf',
'file:///foodotcom/bar.pdf');
chrome.test.succeed(); chrome.test.succeed();
}, },
...@@ -264,30 +239,17 @@ var tests = [ ...@@ -264,30 +239,17 @@ var tests = [
var url = 'https://example.com/some-web-document.pdf'; var url = 'https://example.com/some-web-document.pdf';
// From non-file: to file: // From non-file: to file:
doNavigationUrlTests( doNavigationUrlTests(url, 'file:///bar.pdf', undefined);
url,
'file:///bar.pdf',
undefined);
doNavigationUrlTests( doNavigationUrlTests(url, 'chrome://version', undefined);
url,
'chrome://version',
undefined);
doNavigationUrlTests( doNavigationUrlTests(
url, url, 'javascript:// this is not a document.pdf', undefined);
'javascript:// this is not a document.pdf',
undefined);
doNavigationUrlTests( doNavigationUrlTests(
url, url, 'this-is-not-a-valid-scheme://path.pdf', undefined);
'this-is-not-a-valid-scheme://path.pdf',
undefined);
doNavigationUrlTests( doNavigationUrlTests(url, '', undefined);
url,
'',
undefined);
chrome.test.succeed(); chrome.test.succeed();
} }
......
...@@ -8,17 +8,18 @@ var tests = [ ...@@ -8,17 +8,18 @@ var tests = [
*/ */
function testParamsParser() { function testParamsParser() {
var paramsParser = new OpenPdfParamsParser(function(destination) { var paramsParser = new OpenPdfParamsParser(function(destination) {
if (destination == 'RU') if (destination == 'RU') {
paramsParser.onNamedDestinationReceived(26); paramsParser.onNamedDestinationReceived(26);
else if (destination == 'US') } else if (destination == 'US') {
paramsParser.onNamedDestinationReceived(0); paramsParser.onNamedDestinationReceived(0);
else if (destination == 'UY') } else if (destination == 'UY') {
paramsParser.onNamedDestinationReceived(22); paramsParser.onNamedDestinationReceived(22);
else } else {
paramsParser.onNamedDestinationReceived(-1); paramsParser.onNamedDestinationReceived(-1);
}
}); });
var url = "http://xyz.pdf"; var url = 'http://xyz.pdf';
// Checking #nameddest. // Checking #nameddest.
paramsParser.getViewportFromUrlParams(`${url}#RU`, function(params) { paramsParser.getViewportFromUrlParams(`${url}#RU`, function(params) {
......
...@@ -5,27 +5,27 @@ ...@@ -5,27 +5,27 @@
// Load a plugin with the given paramaters. // Load a plugin with the given paramaters.
function createPluginForUrl(streamUrl, url, headers, progressCallback) { function createPluginForUrl(streamUrl, url, headers, progressCallback) {
var plugin = document.createElement('embed'); var plugin = document.createElement('embed');
plugin.type = 'application/x-google-chrome-pdf'; plugin.type = 'application/x-google-chrome-pdf';
plugin.addEventListener('message', function(message) { plugin.addEventListener('message', function(message) {
switch (message.data.type.toString()) { switch (message.data.type.toString()) {
case 'loadProgress': case 'loadProgress':
progressCallback(message.data.progress); progressCallback(message.data.progress);
break; break;
} }
}, false); }, false);
plugin.setAttribute('src', url); plugin.setAttribute('src', url);
plugin.setAttribute('stream-url', streamUrl); plugin.setAttribute('stream-url', streamUrl);
plugin.setAttribute('full-frame', ''); plugin.setAttribute('full-frame', '');
plugin.setAttribute('headers', headers); plugin.setAttribute('headers', headers);
document.body.appendChild(plugin); document.body.appendChild(plugin);
} }
function parseUrl(url) { function parseUrl(url) {
var a = document.createElement("a"); var a = document.createElement('a');
a.href = url; a.href = url;
return a; return a;
}; }
var tests = [ var tests = [
// Test that if the plugin is loaded with a URL that redirects it fails. // Test that if the plugin is loaded with a URL that redirects it fails.
...@@ -33,10 +33,11 @@ var tests = [ ...@@ -33,10 +33,11 @@ var tests = [
var url = parseUrl(viewer.originalUrl_); var url = parseUrl(viewer.originalUrl_);
var redirectUrl = url.origin + '/server-redirect?' + viewer.originalUrl_; var redirectUrl = url.origin + '/server-redirect?' + viewer.originalUrl_;
createPluginForUrl(redirectUrl, redirectUrl, '', function(progress) { createPluginForUrl(redirectUrl, redirectUrl, '', function(progress) {
if (progress == -1) if (progress == -1) {
chrome.test.succeed(); chrome.test.succeed();
else } else {
chrome.test.fail(); chrome.test.fail();
}
}); });
}, },
...@@ -49,24 +50,26 @@ var tests = [ ...@@ -49,24 +50,26 @@ var tests = [
// that doesn't redirect and subsequent requests are made using a URL that // that doesn't redirect and subsequent requests are made using a URL that
// does. // does.
var headers = 'Accept-Ranges: bytes\n' + var headers = 'Accept-Ranges: bytes\n' +
'Content-Length: 101688487\n' + 'Content-Length: 101688487\n' +
'Content-Type: application/pdf\n'; 'Content-Type: application/pdf\n';
createPluginForUrl(viewer.originalUrl_, redirectUrl, headers, createPluginForUrl(
function(progress) { viewer.originalUrl_, redirectUrl, headers, function(progress) {
if (progress == -1) if (progress == -1) {
chrome.test.succeed(); chrome.test.succeed();
else } else {
chrome.test.fail(); chrome.test.fail();
}
}); });
}, },
// Test that if the plugin is loaded with a URL that doesn't redirect, it // Test that if the plugin is loaded with a URL that doesn't redirect, it
// succeeds. // succeeds.
function noRedirectsSucceed() { function noRedirectsSucceed() {
createPluginForUrl(viewer.originalUrl_, viewer.originalUrl_, '', createPluginForUrl(
function(progress) { viewer.originalUrl_, viewer.originalUrl_, '', function(progress) {
if (progress == 100) if (progress == 100) {
chrome.test.succeed() chrome.test.succeed();
}
}); });
}, },
]; ];
......
...@@ -8,16 +8,18 @@ function MockWindow(width, height, sizer) { ...@@ -8,16 +8,18 @@ function MockWindow(width, height, sizer) {
this.innerWidth = width; this.innerWidth = width;
this.innerHeight = height; this.innerHeight = height;
this.addEventListener = function(e, f) { this.addEventListener = function(e, f) {
if (e == 'scroll') if (e == 'scroll') {
this.scrollCallback = f; this.scrollCallback = f;
if (e == 'resize') }
if (e == 'resize') {
this.resizeCallback = f; this.resizeCallback = f;
}
}; };
this.setSize = function(width, height) { this.setSize = function(width, height) {
this.innerWidth = width; this.innerWidth = width;
this.innerHeight = height; this.innerHeight = height;
this.resizeCallback(); this.resizeCallback();
} };
this.scrollTo = function(x, y) { this.scrollTo = function(x, y) {
if (sizer) { if (sizer) {
x = Math.min(x, parseInt(sizer.style.width) - width); x = Math.min(x, parseInt(sizer.style.width) - width);
...@@ -29,15 +31,16 @@ function MockWindow(width, height, sizer) { ...@@ -29,15 +31,16 @@ function MockWindow(width, height, sizer) {
}; };
this.setTimeout = function(callback, time) { this.setTimeout = function(callback, time) {
this.timerCallback = callback; this.timerCallback = callback;
return "timerId"; return 'timerId';
}; };
this.clearTimeout = function(timerId) { this.clearTimeout = function(timerId) {
this.timerCallback = null; this.timerCallback = null;
}; };
this.runTimeout = function() { this.runTimeout = function() {
if (this.timerCallback) if (this.timerCallback) {
this.timerCallback(); this.timerCallback();
} }
};
if (sizer) { if (sizer) {
sizer.resizeCallback_ = function() { sizer.resizeCallback_ = function() {
this.scrollTo(this.pageXOffset, this.pageYOffset); this.scrollTo(this.pageXOffset, this.pageYOffset);
...@@ -55,17 +58,23 @@ function MockSizer() { ...@@ -55,17 +58,23 @@ function MockSizer() {
this.style = { this.style = {
width_: '0px', width_: '0px',
height_: '0px', height_: '0px',
get height() { return this.height_; }, get height() {
return this.height_;
},
set height(height) { set height(height) {
this.height_ = height; this.height_ = height;
if (sizer.resizeCallback_) if (sizer.resizeCallback_) {
sizer.resizeCallback_(); sizer.resizeCallback_();
}
},
get width() {
return this.width_;
}, },
get width() { return this.width_; },
set width(width) { set width(width) {
this.width_ = width; this.width_ = width;
if (sizer.resizeCallback_) if (sizer.resizeCallback_) {
sizer.resizeCallback_(); sizer.resizeCallback_();
}
}, },
}; };
} }
...@@ -93,22 +102,12 @@ function MockDocumentDimensions(width, height, layoutOptions) { ...@@ -93,22 +102,12 @@ function MockDocumentDimensions(width, height, layoutOptions) {
} }
this.width = Math.max(this.width, w); this.width = Math.max(this.width, w);
this.height += h; this.height += h;
this.pageDimensions.push({ this.pageDimensions.push({x: 0, y: y, width: w, height: h});
x: 0,
y: y,
width: w,
height: h
});
}; };
this.addPageForTwoUpView = function(x, y, w, h) { this.addPageForTwoUpView = function(x, y, w, h) {
this.width = Math.max(this.width, 2 * w); this.width = Math.max(this.width, 2 * w);
this.height = Math.max(this.height, y + h); this.height = Math.max(this.height, y + h);
this.pageDimensions.push({ this.pageDimensions.push({x: x, y: y, width: w, height: h});
x: x,
y: y,
width: w,
height: h
});
}; };
this.reset = function() { this.reset = function() {
this.width = 0; this.width = 0;
......
...@@ -15,7 +15,7 @@ function getMouseMoveEvents(fromX, fromY, toX, toY, steps) { ...@@ -15,7 +15,7 @@ function getMouseMoveEvents(fromX, fromY, toX, toY, steps) {
clientX: fromX, clientX: fromX,
clientY: fromY, clientY: fromY,
movementX: dx, movementX: dx,
movementY: dy movementY: dy,
}); });
events.push(e); events.push(e);
fromX += dx; fromX += dx;
...@@ -102,7 +102,9 @@ var tests = [ ...@@ -102,7 +102,9 @@ var tests = [
var mockWindow = new MockWindow(1920, 1080); var mockWindow = new MockWindow(1920, 1080);
var mockZoomToolbar = { var mockZoomToolbar = {
clientHeight: 400, clientHeight: 400,
isPrintPreview: function() { return false; } isPrintPreview: function() {
return false;
}
}; };
var toolbar = document.getElementById('toolbar'); var toolbar = document.getElementById('toolbar');
var bookmarksDropdown = toolbar.$.bookmarks; var bookmarksDropdown = toolbar.$.bookmarks;
...@@ -182,8 +184,9 @@ var tests = [ ...@@ -182,8 +184,9 @@ var tests = [
chrome.test.assertFalse(zoomToolbar.isVisible()); chrome.test.assertFalse(zoomToolbar.isVisible());
// Simulate focusing the fit to page button using the tab key. // Simulate focusing the fit to page button using the tab key.
zoomToolbar.$$('#fit-button').dispatchEvent( zoomToolbar.$$('#fit-button')
new CustomEvent('focus', {bubbles: true, composed: true})); .dispatchEvent(
new CustomEvent('focus', {bubbles: true, composed: true}));
chrome.test.assertTrue(zoomToolbar.isVisible()); chrome.test.assertTrue(zoomToolbar.isVisible());
// Call resetKeyboardNavigationAndHideToolbars(). This happens when focus // Call resetKeyboardNavigationAndHideToolbars(). This happens when focus
...@@ -195,8 +198,9 @@ var tests = [ ...@@ -195,8 +198,9 @@ var tests = [
// Simulate re-focusing the zoom toolbar with the tab key. See // Simulate re-focusing the zoom toolbar with the tab key. See
// https://crbug.com/982694. // https://crbug.com/982694.
zoomToolbar.$$('#fit-button').dispatchEvent( zoomToolbar.$$('#fit-button')
new CustomEvent('keyup', {bubbles: true, composed: true})); .dispatchEvent(
new CustomEvent('keyup', {bubbles: true, composed: true}));
mockWindow.runTimeout(); mockWindow.runTimeout();
chrome.test.assertTrue(zoomToolbar.isVisible()); chrome.test.assertTrue(zoomToolbar.isVisible());
...@@ -230,25 +234,25 @@ var tests = [ ...@@ -230,25 +234,25 @@ var tests = [
// Tap anywhere on the screen -> Toolbars open. // Tap anywhere on the screen -> Toolbars open.
toolbarManager.handleMouseMove(makeTapEvent(500, 500)); toolbarManager.handleMouseMove(makeTapEvent(500, 500));
chrome.test.assertTrue(toolbar.opened, "toolbars open after tap"); chrome.test.assertTrue(toolbar.opened, 'toolbars open after tap');
// Tap again -> Toolbars close. // Tap again -> Toolbars close.
toolbarManager.handleMouseMove(makeTapEvent(500, 500)); toolbarManager.handleMouseMove(makeTapEvent(500, 500));
chrome.test.assertFalse(toolbar.opened, "toolbars close after tap"); chrome.test.assertFalse(toolbar.opened, 'toolbars close after tap');
// Open toolbars, wait 2 seconds -> Toolbars close. // Open toolbars, wait 2 seconds -> Toolbars close.
toolbarManager.handleMouseMove(makeTapEvent(500, 500)); toolbarManager.handleMouseMove(makeTapEvent(500, 500));
mockWindow.runTimeout(); mockWindow.runTimeout();
chrome.test.assertFalse(toolbar.opened, "toolbars close after wait"); chrome.test.assertFalse(toolbar.opened, 'toolbars close after wait');
// Open toolbars, tap near toolbars -> Toolbar doesn't close. // Open toolbars, tap near toolbars -> Toolbar doesn't close.
toolbarManager.handleMouseMove(makeTapEvent(500, 500)); toolbarManager.handleMouseMove(makeTapEvent(500, 500));
toolbarManager.handleMouseMove(makeTapEvent(100, 75)); toolbarManager.handleMouseMove(makeTapEvent(100, 75));
chrome.test.assertTrue(toolbar.opened, chrome.test.assertTrue(
"toolbars stay open after tap near toolbars"); toolbar.opened, 'toolbars stay open after tap near toolbars');
mockWindow.runTimeout(); mockWindow.runTimeout();
chrome.test.assertTrue(toolbar.opened, chrome.test.assertTrue(
"tap near toolbars prevents auto close"); toolbar.opened, 'tap near toolbars prevents auto close');
chrome.test.succeed(); chrome.test.succeed();
} }
......
...@@ -38,8 +38,9 @@ var tests = [ ...@@ -38,8 +38,9 @@ var tests = [
let event = createContextMenuEvent(); let event = createContextMenuEvent();
// Dispatch event will be false if the event is cancellable and one of the // Dispatch event will be false if the event is cancellable and one of the
// handlers called preventDefault. // handlers called preventDefault.
chrome.test.assertFalse(document.dispatchEvent(event), chrome.test.assertFalse(
"Should have called preventDefault() for single touch."); document.dispatchEvent(event),
'Should have called preventDefault() for single touch.');
chrome.test.succeed(); chrome.test.succeed();
}, },
...@@ -48,8 +49,9 @@ var tests = [ ...@@ -48,8 +49,9 @@ var tests = [
sendTouchStart([{x: 10, y: 10}, {x: 15, y: 15}]); sendTouchStart([{x: 10, y: 10}, {x: 15, y: 15}]);
let event = createContextMenuEvent(); let event = createContextMenuEvent();
chrome.test.assertTrue(document.dispatchEvent(event), chrome.test.assertTrue(
"Should not have called preventDefault() for double touch."); document.dispatchEvent(event),
'Should not have called preventDefault() for double touch.');
chrome.test.succeed(); chrome.test.succeed();
}, },
......
...@@ -279,7 +279,7 @@ var tests = [ ...@@ -279,7 +279,7 @@ var tests = [
chrome.test.assertEq(`${expectedMockWidth}px`, mockSizer.style.width); chrome.test.assertEq(`${expectedMockWidth}px`, mockSizer.style.width);
chrome.test.assertEq(`${expectedMockHeight}px`, mockSizer.style.height); chrome.test.assertEq(`${expectedMockHeight}px`, mockSizer.style.height);
chrome.test.assertEq(expectedZoom, viewport.getZoom()); chrome.test.assertEq(expectedZoom, viewport.getZoom());
}; }
function testForSize( function testForSize(
pageWidth, pageHeight, expectedMockWidth, expectedMockHeight, pageWidth, pageHeight, expectedMockWidth, expectedMockHeight,
...@@ -291,7 +291,7 @@ var tests = [ ...@@ -291,7 +291,7 @@ var tests = [
mockCallback.reset(); mockCallback.reset();
viewport.fitToWidth(); viewport.fitToWidth();
assertZoomed(expectedMockWidth, expectedMockHeight, expectedZoom); assertZoomed(expectedMockWidth, expectedMockHeight, expectedZoom);
}; }
// Document width which matches the window width. // Document width which matches the window width.
testForSize(100, 100, 100, 100, 1); testForSize(100, 100, 100, 100, 1);
...@@ -354,7 +354,7 @@ var tests = [ ...@@ -354,7 +354,7 @@ var tests = [
chrome.test.assertEq(`${expectedMockWidth}px`, mockSizer.style.width); chrome.test.assertEq(`${expectedMockWidth}px`, mockSizer.style.width);
chrome.test.assertEq(`${expectedMockHeight}px`, mockSizer.style.height); chrome.test.assertEq(`${expectedMockHeight}px`, mockSizer.style.height);
chrome.test.assertEq(expectedZoom, viewport.getZoom()); chrome.test.assertEq(expectedZoom, viewport.getZoom());
}; }
function testForSize( function testForSize(
pageWidth, pageHeight, expectedMockWidth, expectedMockHeight, pageWidth, pageHeight, expectedMockWidth, expectedMockHeight,
...@@ -366,7 +366,7 @@ var tests = [ ...@@ -366,7 +366,7 @@ var tests = [
mockCallback.reset(); mockCallback.reset();
viewport.fitToPage(); viewport.fitToPage();
assertZoomed(expectedMockWidth, expectedMockHeight, expectedZoom); assertZoomed(expectedMockWidth, expectedMockHeight, expectedZoom);
}; }
// Page size which matches the window size. // Page size which matches the window size.
testForSize(100, 100, 100, 100, 1); testForSize(100, 100, 100, 100, 1);
...@@ -456,7 +456,7 @@ var tests = [ ...@@ -456,7 +456,7 @@ var tests = [
chrome.test.assertEq(`${expectedMockWidth}px`, mockSizer.style.width); chrome.test.assertEq(`${expectedMockWidth}px`, mockSizer.style.width);
chrome.test.assertEq(`${expectedMockHeight}px`, mockSizer.style.height); chrome.test.assertEq(`${expectedMockHeight}px`, mockSizer.style.height);
chrome.test.assertEq(expectedZoom, viewport.getZoom()); chrome.test.assertEq(expectedZoom, viewport.getZoom());
}; }
function testForSize( function testForSize(
pageWidth, pageHeight, expectedMockWidth, expectedMockHeight, pageWidth, pageHeight, expectedMockWidth, expectedMockHeight,
...@@ -468,7 +468,7 @@ var tests = [ ...@@ -468,7 +468,7 @@ var tests = [
mockCallback.reset(); mockCallback.reset();
viewport.fitToHeight(); viewport.fitToHeight();
assertZoomed(expectedMockWidth, expectedMockHeight, expectedZoom); assertZoomed(expectedMockWidth, expectedMockHeight, expectedZoom);
}; }
// Page size which matches the window size. // Page size which matches the window size.
testForSize(100, 100, 100, 100, 1); testForSize(100, 100, 100, 100, 1);
...@@ -968,10 +968,12 @@ var tests = [ ...@@ -968,10 +968,12 @@ var tests = [
var rect1 = viewport.getPageScreenRect(0); var rect1 = viewport.getPageScreenRect(0);
chrome.test.assertEq(Viewport.PAGE_SHADOW.left + 100 / 2, rect1.x); chrome.test.assertEq(Viewport.PAGE_SHADOW.left + 100 / 2, rect1.x);
chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y); chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y);
chrome.test.assertEq(100 - Viewport.PAGE_SHADOW.right - chrome.test.assertEq(
Viewport.PAGE_SHADOW.left, rect1.width); 100 - Viewport.PAGE_SHADOW.right - Viewport.PAGE_SHADOW.left,
chrome.test.assertEq(100 - Viewport.PAGE_SHADOW.bottom - rect1.width);
Viewport.PAGE_SHADOW.top, rect1.height); chrome.test.assertEq(
100 - Viewport.PAGE_SHADOW.bottom - Viewport.PAGE_SHADOW.top,
rect1.height);
// Check that when we scroll, the rect of the first page is updated // Check that when we scroll, the rect of the first page is updated
// correctly. // correctly.
...@@ -987,10 +989,12 @@ var tests = [ ...@@ -987,10 +989,12 @@ var tests = [
rect1 = viewport.getPageScreenRect(1); rect1 = viewport.getPageScreenRect(1);
chrome.test.assertEq(Viewport.PAGE_SHADOW.left, rect1.x); chrome.test.assertEq(Viewport.PAGE_SHADOW.left, rect1.x);
chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y); chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y);
chrome.test.assertEq(200 - Viewport.PAGE_SHADOW.right - chrome.test.assertEq(
Viewport.PAGE_SHADOW.left, rect1.width); 200 - Viewport.PAGE_SHADOW.right - Viewport.PAGE_SHADOW.left,
chrome.test.assertEq(200 - Viewport.PAGE_SHADOW.bottom - rect1.width);
Viewport.PAGE_SHADOW.top, rect1.height); chrome.test.assertEq(
200 - Viewport.PAGE_SHADOW.bottom - Viewport.PAGE_SHADOW.top,
rect1.height);
chrome.test.succeed(); chrome.test.succeed();
}, },
...@@ -1001,14 +1005,14 @@ var tests = [ ...@@ -1001,14 +1005,14 @@ var tests = [
var afterZoomCalled = false; var afterZoomCalled = false;
var beforeZoomCalled = false; var beforeZoomCalled = false;
var afterZoom = function() { var afterZoom = function() {
afterZoomCalled = true; afterZoomCalled = true;
chrome.test.assertTrue(beforeZoomCalled); chrome.test.assertTrue(beforeZoomCalled);
chrome.test.assertEq(0.5, viewport.getZoom()); chrome.test.assertEq(0.5, viewport.getZoom());
}; };
var beforeZoom = function() { var beforeZoom = function() {
beforeZoomCalled = true; beforeZoomCalled = true;
chrome.test.assertFalse(afterZoomCalled); chrome.test.assertFalse(afterZoomCalled);
chrome.test.assertEq(1, viewport.getZoom()); chrome.test.assertEq(1, viewport.getZoom());
}; };
viewport = new Viewport(mockWindow, mockSizer, 0, 1, 0); viewport = new Viewport(mockWindow, mockSizer, 0, 1, 0);
viewport.setBeforeZoomCallback(beforeZoom); viewport.setBeforeZoomCallback(beforeZoom);
......
...@@ -80,7 +80,7 @@ chrome.test.runTests(function() { ...@@ -80,7 +80,7 @@ chrome.test.runTests(function() {
this.resolve_(); this.resolve_();
this.started = false; this.started = false;
} }
}; }
return [ return [
function testZoomChange() { function testZoomChange() {
......
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