| 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 |