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 var tests = [ | 5 var tests = [ |
6 function testDocumentNeedsScrollbars() { | 6 function testDocumentNeedsScrollbars() { |
7 var viewport = | 7 var viewport = |
8 new Viewport(new MockWindow(100, 100), new MockSizer(), function() {}, | 8 new Viewport(new MockWindow(100, 100), new MockSizer(), function() {}, |
9 function() {}, function() {}, 10, 0); | 9 function() {}, function() {}, 10, 0); |
10 var scrollbars; | 10 var scrollbars; |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 viewport.fitToPage(); | 302 viewport.fitToPage(); |
303 chrome.test.assertEq(0.5, viewport.zoom); | 303 chrome.test.assertEq(0.5, viewport.zoom); |
304 chrome.test.assertEq(0, viewport.position.x); | 304 chrome.test.assertEq(0, viewport.position.x); |
305 chrome.test.assertEq(0, viewport.position.y); | 305 chrome.test.assertEq(0, viewport.position.y); |
306 viewport.setZoom(1); | 306 viewport.setZoom(1); |
307 mockWindow.scrollTo(0, 175); | 307 mockWindow.scrollTo(0, 175); |
308 viewport.fitToPage(); | 308 viewport.fitToPage(); |
309 chrome.test.assertEq(0.25, viewport.zoom); | 309 chrome.test.assertEq(0.25, viewport.zoom); |
310 chrome.test.assertEq(0, viewport.position.x); | 310 chrome.test.assertEq(0, viewport.position.x); |
311 chrome.test.assertEq(50, viewport.position.y); | 311 chrome.test.assertEq(50, viewport.position.y); |
| 312 |
| 313 // Test that when the window size changes, fit-to-page occurs but does not |
| 314 // scroll to the top of the page (it should stay at the scaled scroll |
| 315 // position). |
| 316 mockWindow.scrollTo(0, 0); |
| 317 viewport.fitToPage(); |
| 318 chrome.test.assertEq(0.5, viewport.zoom); |
| 319 mockWindow.scrollTo(0, 10); |
| 320 mockWindow.setSize(50, 50); |
| 321 chrome.test.assertEq(0.25, viewport.zoom); |
| 322 chrome.test.assertEq(0, viewport.position.x); |
| 323 chrome.test.assertEq(5, viewport.position.y); |
| 324 |
312 chrome.test.succeed(); | 325 chrome.test.succeed(); |
313 }, | 326 }, |
314 | 327 |
315 function testGoToPage() { | 328 function testGoToPage() { |
316 var mockWindow = new MockWindow(100, 100); | 329 var mockWindow = new MockWindow(100, 100); |
317 var mockSizer = new MockSizer(); | 330 var mockSizer = new MockSizer(); |
318 var mockCallback = new MockViewportChangedCallback(); | 331 var mockCallback = new MockViewportChangedCallback(); |
319 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, | 332 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback, |
320 function() {}, function() {}, 0, 0); | 333 function() {}, function() {}, 0, 0); |
321 var documentDimensions = new MockDocumentDimensions(); | 334 var documentDimensions = new MockDocumentDimensions(); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 chrome.test.assertEq(1, viewport.zoom); | 426 chrome.test.assertEq(1, viewport.zoom); |
414 }; | 427 }; |
415 viewport = new Viewport(mockWindow, mockSizer, function() {}, | 428 viewport = new Viewport(mockWindow, mockSizer, function() {}, |
416 beforeZoom, afterZoom, 0, 0); | 429 beforeZoom, afterZoom, 0, 0); |
417 viewport.setZoom(0.5); | 430 viewport.setZoom(0.5); |
418 chrome.test.succeed(); | 431 chrome.test.succeed(); |
419 } | 432 } |
420 ]; | 433 ]; |
421 | 434 |
422 chrome.test.runTests(tests); | 435 chrome.test.runTests(tests); |
OLD | NEW |