Chromium Code Reviews| Index: chrome/test/data/pdf/common_file.js |
| diff --git a/chrome/test/data/pdf/common_file.js b/chrome/test/data/pdf/common_file.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0472f615a8f00e482bc6da2b56a36070aea66b3b |
| --- /dev/null |
| +++ b/chrome/test/data/pdf/common_file.js |
| @@ -0,0 +1,89 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
|
raymes
2015/01/28 01:33:45
Can we rename this file test_util.js
Deepak
2015/01/28 05:57:24
Done.
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// It have common functions used in Viewport test and NamedDestinations test. |
|
raymes
2015/01/28 01:33:45
// Utilities that are used in multiple tests.
Deepak
2015/01/28 05:57:24
Done.
|
| +function MockWindow(width, height, sizer) { |
| + this.innerWidth = width; |
| + this.innerHeight = height; |
| + this.addEventListener = function(e, f) { |
| + if (e == 'scroll') |
| + this.scrollCallback = f; |
| + if (e == 'resize') |
| + this.resizeCallback = f; |
| + }; |
| + this.scrollTo = function(x, y) { |
| + if (sizer) { |
| + x = Math.min(x, parseInt(sizer.style.width) - width); |
| + y = Math.min(y, parseInt(sizer.style.height) - height); |
| + } |
| + this.pageXOffset = Math.max(0, x); |
| + this.pageYOffset = Math.max(0, y); |
| + this.scrollCallback(); |
| + }; |
| + if (sizer) { |
| + sizer.resizeCallback_ = function() { |
| + this.scrollTo(this.pageXOffset, this.pageYOffset); |
| + }.bind(this); |
| + } |
| + this.pageXOffset = 0; |
| + this.pageYOffset = 0; |
| + this.scrollCallback = null; |
| + this.resizeCallback = null; |
| +} |
| + |
| +function MockSizer() { |
| + var sizer = this; |
| + this.style = { |
| + width_: '0px', |
| + height_: '0px', |
| + get height() { return this.height_; }, |
| + set height(height) { |
| + this.height_ = height; |
| + if (sizer.resizeCallback_) |
| + sizer.resizeCallback_(); |
| + }, |
| + get width() { return this.width_; }, |
| + set width(width) { |
| + this.width_ = width; |
| + if (sizer.resizeCallback_) |
| + sizer.resizeCallback_(); |
| + }, |
| + }; |
| +} |
| + |
| +function MockViewportChangedCallback() { |
| + this.wasCalled = false; |
| + this.callback = function() { |
| + this.wasCalled = true; |
| + }.bind(this); |
| + this.reset = function() { |
| + this.wasCalled = false; |
| + }; |
| +} |
| + |
| +function MockDocumentDimensions(width, height) { |
| + this.width = width || 0; |
| + this.height = height ? height : 0; |
| + this.pageDimensions = []; |
| + this.addPage = function(w, h) { |
| + var y = 0; |
| + if (this.pageDimensions.length != 0) { |
| + y = this.pageDimensions[this.pageDimensions.length - 1].y + |
| + this.pageDimensions[this.pageDimensions.length - 1].height; |
| + } |
| + this.width = Math.max(this.width, w); |
| + this.height += h; |
| + this.pageDimensions.push({ |
| + x: 0, |
| + y: y, |
| + width: w, |
| + height: h |
| + }); |
| + }; |
| + this.reset = function() { |
| + this.width = 0; |
| + this.height = 0; |
| + this.pageDimensions = []; |
| + }; |
| +} |