Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // 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.
| |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // 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.
| |
| 6 function MockWindow(width, height, sizer) { | |
| 7 this.innerWidth = width; | |
| 8 this.innerHeight = height; | |
| 9 this.addEventListener = function(e, f) { | |
| 10 if (e == 'scroll') | |
| 11 this.scrollCallback = f; | |
| 12 if (e == 'resize') | |
| 13 this.resizeCallback = f; | |
| 14 }; | |
| 15 this.scrollTo = function(x, y) { | |
| 16 if (sizer) { | |
| 17 x = Math.min(x, parseInt(sizer.style.width) - width); | |
| 18 y = Math.min(y, parseInt(sizer.style.height) - height); | |
| 19 } | |
| 20 this.pageXOffset = Math.max(0, x); | |
| 21 this.pageYOffset = Math.max(0, y); | |
| 22 this.scrollCallback(); | |
| 23 }; | |
| 24 if (sizer) { | |
| 25 sizer.resizeCallback_ = function() { | |
| 26 this.scrollTo(this.pageXOffset, this.pageYOffset); | |
| 27 }.bind(this); | |
| 28 } | |
| 29 this.pageXOffset = 0; | |
| 30 this.pageYOffset = 0; | |
| 31 this.scrollCallback = null; | |
| 32 this.resizeCallback = null; | |
| 33 } | |
| 34 | |
| 35 function MockSizer() { | |
| 36 var sizer = this; | |
| 37 this.style = { | |
| 38 width_: '0px', | |
| 39 height_: '0px', | |
| 40 get height() { return this.height_; }, | |
| 41 set height(height) { | |
| 42 this.height_ = height; | |
| 43 if (sizer.resizeCallback_) | |
| 44 sizer.resizeCallback_(); | |
| 45 }, | |
| 46 get width() { return this.width_; }, | |
| 47 set width(width) { | |
| 48 this.width_ = width; | |
| 49 if (sizer.resizeCallback_) | |
| 50 sizer.resizeCallback_(); | |
| 51 }, | |
| 52 }; | |
| 53 } | |
| 54 | |
| 55 function MockViewportChangedCallback() { | |
| 56 this.wasCalled = false; | |
| 57 this.callback = function() { | |
| 58 this.wasCalled = true; | |
| 59 }.bind(this); | |
| 60 this.reset = function() { | |
| 61 this.wasCalled = false; | |
| 62 }; | |
| 63 } | |
| 64 | |
| 65 function MockDocumentDimensions(width, height) { | |
| 66 this.width = width || 0; | |
| 67 this.height = height ? height : 0; | |
| 68 this.pageDimensions = []; | |
| 69 this.addPage = function(w, h) { | |
| 70 var y = 0; | |
| 71 if (this.pageDimensions.length != 0) { | |
| 72 y = this.pageDimensions[this.pageDimensions.length - 1].y + | |
| 73 this.pageDimensions[this.pageDimensions.length - 1].height; | |
| 74 } | |
| 75 this.width = Math.max(this.width, w); | |
| 76 this.height += h; | |
| 77 this.pageDimensions.push({ | |
| 78 x: 0, | |
| 79 y: y, | |
| 80 width: w, | |
| 81 height: h | |
| 82 }); | |
| 83 }; | |
| 84 this.reset = function() { | |
| 85 this.width = 0; | |
| 86 this.height = 0; | |
| 87 this.pageDimensions = []; | |
| 88 }; | |
| 89 } | |
| OLD | NEW |