OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 function MockWindow(width, height) { | 5 function MockWindow(width, height) { |
6 this.innerWidth = width; | 6 this.innerWidth = width; |
7 this.innerHeight = height; | 7 this.innerHeight = height; |
8 this.addEventListener = function(e, f) { | 8 this.addEventListener = function(e, f) { |
9 if (e == 'scroll') | 9 if (e == 'scroll') |
10 this.scrollCallback = f; | 10 this.scrollCallback = f; |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 function testSetZoom() { | 106 function testSetZoom() { |
107 var mockWindow = new MockWindow(100, 100); | 107 var mockWindow = new MockWindow(100, 100); |
108 var mockSizer = new MockSizer(); | 108 var mockSizer = new MockSizer(); |
109 var mockCallback = new MockViewportChangedCallback(); | 109 var mockCallback = new MockViewportChangedCallback(); |
110 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, | 110 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, |
111 function() {}, function() {}, 0); | 111 function() {}, function() {}, 0); |
112 | 112 |
113 // Test setting the zoom without the document dimensions set. The sizer | 113 // Test setting the zoom without the document dimensions set. The sizer |
114 // shouldn't change size. | 114 // shouldn't change size. |
115 mockCallback.reset(); | 115 mockCallback.reset(); |
116 viewport.setZoom(0.5); | 116 viewport.setZoomForTest_(0.5); |
117 chrome.test.assertEq(0.5, viewport.zoom); | 117 chrome.test.assertEq(0.5, viewport.zoom); |
118 chrome.test.assertTrue(mockCallback.wasCalled); | 118 chrome.test.assertTrue(mockCallback.wasCalled); |
119 chrome.test.assertEq('0px', mockSizer.style.width); | 119 chrome.test.assertEq('0px', mockSizer.style.width); |
120 chrome.test.assertEq('0px', mockSizer.style.height); | 120 chrome.test.assertEq('0px', mockSizer.style.height); |
121 chrome.test.assertEq(0, mockWindow.pageXOffset); | 121 chrome.test.assertEq(0, mockWindow.pageXOffset); |
122 chrome.test.assertEq(0, mockWindow.pageYOffset); | 122 chrome.test.assertEq(0, mockWindow.pageYOffset); |
123 | 123 |
124 viewport.setZoom(1); | 124 viewport.setZoomForTest_(1); |
125 viewport.setDocumentDimensions(new MockDocumentDimensions(200, 200)); | 125 viewport.setDocumentDimensions(new MockDocumentDimensions(200, 200)); |
126 | 126 |
127 // Test zooming out. | 127 // Test zooming out. |
128 mockCallback.reset(); | 128 mockCallback.reset(); |
129 viewport.setZoom(0.5); | 129 viewport.setZoomForTest_(0.5); |
130 chrome.test.assertEq(0.5, viewport.zoom); | 130 chrome.test.assertEq(0.5, viewport.zoom); |
131 chrome.test.assertTrue(mockCallback.wasCalled); | 131 chrome.test.assertTrue(mockCallback.wasCalled); |
132 chrome.test.assertEq('100px', mockSizer.style.width); | 132 chrome.test.assertEq('100px', mockSizer.style.width); |
133 chrome.test.assertEq('100px', mockSizer.style.height); | 133 chrome.test.assertEq('100px', mockSizer.style.height); |
134 | 134 |
135 // Test zooming in. | 135 // Test zooming in. |
136 mockCallback.reset(); | 136 mockCallback.reset(); |
137 viewport.setZoom(2); | 137 viewport.setZoomForTest_(2); |
138 chrome.test.assertEq(2, viewport.zoom); | 138 chrome.test.assertEq(2, viewport.zoom); |
139 chrome.test.assertTrue(mockCallback.wasCalled); | 139 chrome.test.assertTrue(mockCallback.wasCalled); |
140 chrome.test.assertEq('400px', mockSizer.style.width); | 140 chrome.test.assertEq('400px', mockSizer.style.width); |
141 chrome.test.assertEq('400px', mockSizer.style.height); | 141 chrome.test.assertEq('400px', mockSizer.style.height); |
142 | 142 |
143 // Test that the scroll position scales correctly. It scales relative to the | 143 // Test that the scroll position scales correctly. It scales relative to the |
144 // center of the page. | 144 // center of the page. |
145 viewport.setZoom(1); | 145 viewport.setZoomForTest_(1); |
146 mockWindow.pageXOffset = 50; | 146 mockWindow.pageXOffset = 50; |
147 mockWindow.pageYOffset = 50; | 147 mockWindow.pageYOffset = 50; |
148 viewport.setZoom(2); | 148 viewport.setZoomForTest_(2); |
149 chrome.test.assertEq('400px', mockSizer.style.width); | 149 chrome.test.assertEq('400px', mockSizer.style.width); |
150 chrome.test.assertEq('400px', mockSizer.style.height); | 150 chrome.test.assertEq('400px', mockSizer.style.height); |
151 chrome.test.assertEq(150, mockWindow.pageXOffset); | 151 chrome.test.assertEq(150, mockWindow.pageXOffset); |
152 chrome.test.assertEq(150, mockWindow.pageYOffset); | 152 chrome.test.assertEq(150, mockWindow.pageYOffset); |
153 chrome.test.succeed(); | 153 chrome.test.succeed(); |
154 }, | 154 }, |
155 | 155 |
156 function testGetMostVisiblePage() { | 156 function testGetMostVisiblePage() { |
157 var mockWindow = new MockWindow(100, 100); | 157 var mockWindow = new MockWindow(100, 100); |
158 var viewport = new Viewport(mockWindow, new MockSizer(), function() {}, | 158 var viewport = new Viewport(mockWindow, new MockSizer(), function() {}, |
159 function() {}, function() {}, 0); | 159 function() {}, function() {}, 0); |
160 | 160 |
161 var documentDimensions = new MockDocumentDimensions(100, 100); | 161 var documentDimensions = new MockDocumentDimensions(100, 100); |
162 documentDimensions.addPage(100, 100); | 162 documentDimensions.addPage(100, 100); |
163 documentDimensions.addPage(150, 100); | 163 documentDimensions.addPage(150, 100); |
164 documentDimensions.addPage(100, 200); | 164 documentDimensions.addPage(100, 200); |
165 viewport.setDocumentDimensions(documentDimensions); | 165 viewport.setDocumentDimensions(documentDimensions); |
166 viewport.setZoom(1); | 166 viewport.setZoomForTest_(1); |
167 | 167 |
168 // Scrolled to the start of the first page. | 168 // Scrolled to the start of the first page. |
169 mockWindow.scrollTo(0, 0); | 169 mockWindow.scrollTo(0, 0); |
170 chrome.test.assertEq(0, viewport.getMostVisiblePage()); | 170 chrome.test.assertEq(0, viewport.getMostVisiblePage()); |
171 | 171 |
172 // Scrolled to the start of the second page. | 172 // Scrolled to the start of the second page. |
173 mockWindow.scrollTo(0, 100); | 173 mockWindow.scrollTo(0, 100); |
174 chrome.test.assertEq(1, viewport.getMostVisiblePage()); | 174 chrome.test.assertEq(1, viewport.getMostVisiblePage()); |
175 | 175 |
176 // Scrolled half way through the first page. | 176 // Scrolled half way through the first page. |
177 mockWindow.scrollTo(0, 50); | 177 mockWindow.scrollTo(0, 50); |
178 chrome.test.assertEq(0, viewport.getMostVisiblePage()); | 178 chrome.test.assertEq(0, viewport.getMostVisiblePage()); |
179 | 179 |
180 // Scrolled just over half way through the first page. | 180 // Scrolled just over half way through the first page. |
181 mockWindow.scrollTo(0, 51); | 181 mockWindow.scrollTo(0, 51); |
182 chrome.test.assertEq(1, viewport.getMostVisiblePage()); | 182 chrome.test.assertEq(1, viewport.getMostVisiblePage()); |
183 | 183 |
184 // Scrolled most of the way through the second page. | 184 // Scrolled most of the way through the second page. |
185 mockWindow.scrollTo(0, 180); | 185 mockWindow.scrollTo(0, 180); |
186 chrome.test.assertEq(2, viewport.getMostVisiblePage()); | 186 chrome.test.assertEq(2, viewport.getMostVisiblePage()); |
187 | 187 |
188 // Scrolled just over half way through the first page with 2x zoom. | 188 // Scrolled just over half way through the first page with 2x zoom. |
189 viewport.setZoom(2); | 189 viewport.setZoomForTest_(2); |
190 mockWindow.scrollTo(0, 151); | 190 mockWindow.scrollTo(0, 151); |
191 chrome.test.assertEq(1, viewport.getMostVisiblePage()); | 191 chrome.test.assertEq(1, viewport.getMostVisiblePage()); |
192 chrome.test.succeed(); | 192 chrome.test.succeed(); |
193 }, | 193 }, |
194 | 194 |
195 function testFitToWidth() { | 195 function testFitToWidth() { |
196 var mockWindow = new MockWindow(100, 100); | 196 var mockWindow = new MockWindow(100, 100); |
197 var mockSizer = new MockSizer(); | 197 var mockSizer = new MockSizer(); |
198 var mockCallback = new MockViewportChangedCallback(); | 198 var mockCallback = new MockViewportChangedCallback(); |
199 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, | 199 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, |
200 function() {}, function() {}, 0); | 200 function() {}, function() {}, 0); |
201 var documentDimensions = new MockDocumentDimensions(); | 201 var documentDimensions = new MockDocumentDimensions(); |
202 | 202 |
203 // Test with a document width which matches the window width. | 203 // Test with a document width which matches the window width. |
204 documentDimensions.addPage(100, 100); | 204 documentDimensions.addPage(100, 100); |
205 viewport.setDocumentDimensions(documentDimensions); | 205 viewport.setDocumentDimensions(documentDimensions); |
206 viewport.setZoom(0.1); | 206 viewport.setZoomForTest_(0.1); |
207 mockCallback.reset(); | 207 mockCallback.reset(); |
208 viewport.fitToWidth(); | 208 viewport.fitToWidth(); |
209 chrome.test.assertTrue(mockCallback.wasCalled); | 209 chrome.test.assertTrue(mockCallback.wasCalled); |
210 chrome.test.assertEq('100px', mockSizer.style.width); | 210 chrome.test.assertEq('100px', mockSizer.style.width); |
211 chrome.test.assertEq(1, viewport.zoom); | 211 chrome.test.assertEq(1, viewport.zoom); |
212 | 212 |
213 // Test with a document width which is twice the size of the window width. | 213 // Test with a document width which is twice the size of the window width. |
214 documentDimensions.reset(); | 214 documentDimensions.reset(); |
215 documentDimensions.addPage(200, 100); | 215 documentDimensions.addPage(200, 100); |
216 viewport.setDocumentDimensions(documentDimensions); | 216 viewport.setDocumentDimensions(documentDimensions); |
(...skipping 11 matching lines...) Expand all Loading... |
228 viewport.fitToWidth(); | 228 viewport.fitToWidth(); |
229 chrome.test.assertTrue(mockCallback.wasCalled); | 229 chrome.test.assertTrue(mockCallback.wasCalled); |
230 chrome.test.assertEq('100px', mockSizer.style.width); | 230 chrome.test.assertEq('100px', mockSizer.style.width); |
231 chrome.test.assertEq(2, viewport.zoom); | 231 chrome.test.assertEq(2, viewport.zoom); |
232 | 232 |
233 // Test that the scroll position stays the same relative to the page after | 233 // Test that the scroll position stays the same relative to the page after |
234 // fit to page is called. | 234 // fit to page is called. |
235 documentDimensions.reset(); | 235 documentDimensions.reset(); |
236 documentDimensions.addPage(50, 400); | 236 documentDimensions.addPage(50, 400); |
237 viewport.setDocumentDimensions(documentDimensions); | 237 viewport.setDocumentDimensions(documentDimensions); |
238 viewport.setZoom(1); | 238 viewport.setZoomForTest_(1); |
239 mockWindow.scrollTo(0, 100); | 239 mockWindow.scrollTo(0, 100); |
240 mockCallback.reset(); | 240 mockCallback.reset(); |
241 viewport.fitToWidth(); | 241 viewport.fitToWidth(); |
242 chrome.test.assertTrue(mockCallback.wasCalled); | 242 chrome.test.assertTrue(mockCallback.wasCalled); |
243 chrome.test.assertEq(2, viewport.zoom); | 243 chrome.test.assertEq(2, viewport.zoom); |
244 chrome.test.assertEq(0, viewport.position.x); | 244 chrome.test.assertEq(0, viewport.position.x); |
245 chrome.test.assertEq(200, viewport.position.y); | 245 chrome.test.assertEq(200, viewport.position.y); |
246 | 246 |
247 // Test fitting works with scrollbars. The page will need to be zoomed to | 247 // Test fitting works with scrollbars. The page will need to be zoomed to |
248 // fit to width, which will cause the page height to span outside of the | 248 // fit to width, which will cause the page height to span outside of the |
(...skipping 15 matching lines...) Expand all Loading... |
264 var mockWindow = new MockWindow(100, 100); | 264 var mockWindow = new MockWindow(100, 100); |
265 var mockSizer = new MockSizer(); | 265 var mockSizer = new MockSizer(); |
266 var mockCallback = new MockViewportChangedCallback(); | 266 var mockCallback = new MockViewportChangedCallback(); |
267 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, | 267 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, |
268 function() {}, function() {}, 0); | 268 function() {}, function() {}, 0); |
269 var documentDimensions = new MockDocumentDimensions(); | 269 var documentDimensions = new MockDocumentDimensions(); |
270 | 270 |
271 // Test with a page size which matches the window size. | 271 // Test with a page size which matches the window size. |
272 documentDimensions.addPage(100, 100); | 272 documentDimensions.addPage(100, 100); |
273 viewport.setDocumentDimensions(documentDimensions); | 273 viewport.setDocumentDimensions(documentDimensions); |
274 viewport.setZoom(0.1); | 274 viewport.setZoomForTest_(0.1); |
275 mockCallback.reset(); | 275 mockCallback.reset(); |
276 viewport.fitToPage(); | 276 viewport.fitToPage(); |
277 chrome.test.assertTrue(mockCallback.wasCalled); | 277 chrome.test.assertTrue(mockCallback.wasCalled); |
278 chrome.test.assertEq('100px', mockSizer.style.width); | 278 chrome.test.assertEq('100px', mockSizer.style.width); |
279 chrome.test.assertEq('100px', mockSizer.style.height); | 279 chrome.test.assertEq('100px', mockSizer.style.height); |
280 chrome.test.assertEq(1, viewport.zoom); | 280 chrome.test.assertEq(1, viewport.zoom); |
281 | 281 |
282 // Test with a page size whose width is larger than its height. | 282 // Test with a page size whose width is larger than its height. |
283 documentDimensions.reset(); | 283 documentDimensions.reset(); |
284 documentDimensions.addPage(200, 100); | 284 documentDimensions.addPage(200, 100); |
(...skipping 15 matching lines...) Expand all Loading... |
300 chrome.test.assertEq('50px', mockSizer.style.width); | 300 chrome.test.assertEq('50px', mockSizer.style.width); |
301 chrome.test.assertEq('100px', mockSizer.style.height); | 301 chrome.test.assertEq('100px', mockSizer.style.height); |
302 chrome.test.assertEq(0.5, viewport.zoom); | 302 chrome.test.assertEq(0.5, viewport.zoom); |
303 | 303 |
304 // Test that when there are multiple pages the most visible page is sized | 304 // Test that when there are multiple pages the most visible page is sized |
305 // to. | 305 // to. |
306 documentDimensions.reset(); | 306 documentDimensions.reset(); |
307 documentDimensions.addPage(200, 100); | 307 documentDimensions.addPage(200, 100); |
308 documentDimensions.addPage(100, 400); | 308 documentDimensions.addPage(100, 400); |
309 viewport.setDocumentDimensions(documentDimensions); | 309 viewport.setDocumentDimensions(documentDimensions); |
310 viewport.setZoom(1); | 310 viewport.setZoomForTest_(1); |
311 mockWindow.scrollTo(0, 0); | 311 mockWindow.scrollTo(0, 0); |
312 mockCallback.reset(); | 312 mockCallback.reset(); |
313 viewport.fitToPage(); | 313 viewport.fitToPage(); |
314 chrome.test.assertTrue(mockCallback.wasCalled); | 314 chrome.test.assertTrue(mockCallback.wasCalled); |
315 chrome.test.assertEq('100px', mockSizer.style.width); | 315 chrome.test.assertEq('100px', mockSizer.style.width); |
316 chrome.test.assertEq('250px', mockSizer.style.height); | 316 chrome.test.assertEq('250px', mockSizer.style.height); |
317 chrome.test.assertEq(0.5, viewport.zoom); | 317 chrome.test.assertEq(0.5, viewport.zoom); |
318 viewport.setZoom(1); | 318 viewport.setZoomForTest_(1); |
319 mockWindow.scrollTo(0, 100); | 319 mockWindow.scrollTo(0, 100); |
320 mockCallback.reset(); | 320 mockCallback.reset(); |
321 viewport.fitToPage(); | 321 viewport.fitToPage(); |
322 chrome.test.assertTrue(mockCallback.wasCalled); | 322 chrome.test.assertTrue(mockCallback.wasCalled); |
323 chrome.test.assertEq('50px', mockSizer.style.width); | 323 chrome.test.assertEq('50px', mockSizer.style.width); |
324 chrome.test.assertEq('125px', mockSizer.style.height); | 324 chrome.test.assertEq('125px', mockSizer.style.height); |
325 chrome.test.assertEq(0.25, viewport.zoom); | 325 chrome.test.assertEq(0.25, viewport.zoom); |
326 | 326 |
327 // Test that the top of the most visible page is scrolled to. | 327 // Test that the top of the most visible page is scrolled to. |
328 documentDimensions.reset(); | 328 documentDimensions.reset(); |
329 documentDimensions.addPage(200, 200); | 329 documentDimensions.addPage(200, 200); |
330 documentDimensions.addPage(100, 400); | 330 documentDimensions.addPage(100, 400); |
331 viewport.setDocumentDimensions(documentDimensions); | 331 viewport.setDocumentDimensions(documentDimensions); |
332 viewport.setZoom(1); | 332 viewport.setZoomForTest_(1); |
333 mockWindow.scrollTo(0, 0); | 333 mockWindow.scrollTo(0, 0); |
334 viewport.fitToPage(); | 334 viewport.fitToPage(); |
335 chrome.test.assertEq(0.5, viewport.zoom); | 335 chrome.test.assertEq(0.5, viewport.zoom); |
336 chrome.test.assertEq(0, viewport.position.x); | 336 chrome.test.assertEq(0, viewport.position.x); |
337 chrome.test.assertEq(0, viewport.position.y); | 337 chrome.test.assertEq(0, viewport.position.y); |
338 viewport.setZoom(1); | 338 viewport.setZoomForTest_(1); |
339 mockWindow.scrollTo(0, 175); | 339 mockWindow.scrollTo(0, 175); |
340 viewport.fitToPage(); | 340 viewport.fitToPage(); |
341 chrome.test.assertEq(0.25, viewport.zoom); | 341 chrome.test.assertEq(0.25, viewport.zoom); |
342 // The page will be centred because it is less than the document width. | 342 // The page will be centred because it is less than the document width. |
343 chrome.test.assertEq(12.5, viewport.position.x); | 343 chrome.test.assertEq(12.5, viewport.position.x); |
344 chrome.test.assertEq(50, viewport.position.y); | 344 chrome.test.assertEq(50, viewport.position.y); |
345 chrome.test.succeed(); | 345 chrome.test.succeed(); |
346 }, | 346 }, |
347 | 347 |
348 function testGoToPage() { | 348 function testGoToPage() { |
349 var mockWindow = new MockWindow(100, 100); | 349 var mockWindow = new MockWindow(100, 100); |
350 var mockSizer = new MockSizer(); | 350 var mockSizer = new MockSizer(); |
351 var mockCallback = new MockViewportChangedCallback(); | 351 var mockCallback = new MockViewportChangedCallback(); |
352 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, | 352 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, |
353 function() {}, function() {}, 0); | 353 function() {}, function() {}, 0); |
354 var documentDimensions = new MockDocumentDimensions(); | 354 var documentDimensions = new MockDocumentDimensions(); |
355 | 355 |
356 documentDimensions.addPage(100, 100); | 356 documentDimensions.addPage(100, 100); |
357 documentDimensions.addPage(200, 200); | 357 documentDimensions.addPage(200, 200); |
358 documentDimensions.addPage(100, 400); | 358 documentDimensions.addPage(100, 400); |
359 viewport.setDocumentDimensions(documentDimensions); | 359 viewport.setDocumentDimensions(documentDimensions); |
360 viewport.setZoom(1); | 360 viewport.setZoomForTest_(1); |
361 | 361 |
362 mockCallback.reset(); | 362 mockCallback.reset(); |
363 viewport.goToPage(0); | 363 viewport.goToPage(0); |
364 chrome.test.assertTrue(mockCallback.wasCalled); | 364 chrome.test.assertTrue(mockCallback.wasCalled); |
365 chrome.test.assertEq(0, viewport.position.x); | 365 chrome.test.assertEq(0, viewport.position.x); |
366 chrome.test.assertEq(0, viewport.position.y); | 366 chrome.test.assertEq(0, viewport.position.y); |
367 | 367 |
368 mockCallback.reset(); | 368 mockCallback.reset(); |
369 viewport.goToPage(1); | 369 viewport.goToPage(1); |
370 chrome.test.assertTrue(mockCallback.wasCalled); | 370 chrome.test.assertTrue(mockCallback.wasCalled); |
371 chrome.test.assertEq(0, viewport.position.x); | 371 chrome.test.assertEq(0, viewport.position.x); |
372 chrome.test.assertEq(100, viewport.position.y); | 372 chrome.test.assertEq(100, viewport.position.y); |
373 | 373 |
374 mockCallback.reset(); | 374 mockCallback.reset(); |
375 viewport.goToPage(2); | 375 viewport.goToPage(2); |
376 chrome.test.assertTrue(mockCallback.wasCalled); | 376 chrome.test.assertTrue(mockCallback.wasCalled); |
377 chrome.test.assertEq(0, viewport.position.x); | 377 chrome.test.assertEq(0, viewport.position.x); |
378 chrome.test.assertEq(300, viewport.position.y); | 378 chrome.test.assertEq(300, viewport.position.y); |
379 | 379 |
380 viewport.setZoom(0.5); | 380 viewport.setZoomForTest_(0.5); |
381 mockCallback.reset(); | 381 mockCallback.reset(); |
382 viewport.goToPage(2); | 382 viewport.goToPage(2); |
383 chrome.test.assertTrue(mockCallback.wasCalled); | 383 chrome.test.assertTrue(mockCallback.wasCalled); |
384 chrome.test.assertEq(0, viewport.position.x); | 384 chrome.test.assertEq(0, viewport.position.x); |
385 chrome.test.assertEq(150, viewport.position.y); | 385 chrome.test.assertEq(150, viewport.position.y); |
386 chrome.test.succeed(); | 386 chrome.test.succeed(); |
387 }, | 387 }, |
388 | 388 |
389 function testGetPageScreenRect() { | 389 function testGetPageScreenRect() { |
390 var mockWindow = new MockWindow(100, 100); | 390 var mockWindow = new MockWindow(100, 100); |
391 var mockSizer = new MockSizer(); | 391 var mockSizer = new MockSizer(); |
392 var mockCallback = new MockViewportChangedCallback(); | 392 var mockCallback = new MockViewportChangedCallback(); |
393 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, | 393 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, |
394 function() {}, function() {}, 0); | 394 function() {}, function() {}, 0); |
395 var documentDimensions = new MockDocumentDimensions(); | 395 var documentDimensions = new MockDocumentDimensions(); |
396 documentDimensions.addPage(100, 100); | 396 documentDimensions.addPage(100, 100); |
397 documentDimensions.addPage(200, 200); | 397 documentDimensions.addPage(200, 200); |
398 viewport.setDocumentDimensions(documentDimensions); | 398 viewport.setDocumentDimensions(documentDimensions); |
399 viewport.setZoom(1); | 399 viewport.setZoomForTest_(1); |
400 | 400 |
401 // Test that the rect of the first page is positioned/sized correctly. | 401 // Test that the rect of the first page is positioned/sized correctly. |
402 mockWindow.scrollTo(0, 0); | 402 mockWindow.scrollTo(0, 0); |
403 var rect1 = viewport.getPageScreenRect(0); | 403 var rect1 = viewport.getPageScreenRect(0); |
404 chrome.test.assertEq(Viewport.PAGE_SHADOW.left + 100 / 2, rect1.x); | 404 chrome.test.assertEq(Viewport.PAGE_SHADOW.left + 100 / 2, rect1.x); |
405 chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y); | 405 chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y); |
406 chrome.test.assertEq(100 - Viewport.PAGE_SHADOW.right - | 406 chrome.test.assertEq(100 - Viewport.PAGE_SHADOW.right - |
407 Viewport.PAGE_SHADOW.left, rect1.width); | 407 Viewport.PAGE_SHADOW.left, rect1.width); |
408 chrome.test.assertEq(100 - Viewport.PAGE_SHADOW.bottom - | 408 chrome.test.assertEq(100 - Viewport.PAGE_SHADOW.bottom - |
409 Viewport.PAGE_SHADOW.top, rect1.height); | 409 Viewport.PAGE_SHADOW.top, rect1.height); |
(...skipping 30 matching lines...) Expand all Loading... |
440 chrome.test.assertTrue(beforeZoomCalled); | 440 chrome.test.assertTrue(beforeZoomCalled); |
441 chrome.test.assertEq(0.5, viewport.zoom); | 441 chrome.test.assertEq(0.5, viewport.zoom); |
442 }; | 442 }; |
443 var beforeZoom = function() { | 443 var beforeZoom = function() { |
444 beforeZoomCalled = true; | 444 beforeZoomCalled = true; |
445 chrome.test.assertFalse(afterZoomCalled); | 445 chrome.test.assertFalse(afterZoomCalled); |
446 chrome.test.assertEq(1, viewport.zoom); | 446 chrome.test.assertEq(1, viewport.zoom); |
447 }; | 447 }; |
448 viewport = new Viewport(mockWindow, mockSizer, function() {}, | 448 viewport = new Viewport(mockWindow, mockSizer, function() {}, |
449 beforeZoom, afterZoom, 0); | 449 beforeZoom, afterZoom, 0); |
450 viewport.setZoom(0.5); | 450 viewport.setZoomForTest_(0.5); |
451 chrome.test.succeed(); | 451 chrome.test.succeed(); |
452 } | 452 } |
453 ]; | 453 ]; |
454 | 454 |
455 chrome.test.runTests(tests); | 455 chrome.test.runTests(tests); |
OLD | NEW |