Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Side by Side Diff: chrome/test/data/pdf/viewport_test.js

Issue 266413002: Refactor pdf_scripting_api.js to remove the PDFMessagingHost in OOP PDF (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/test/data/pdf/basic_test.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 viewport.setDocumentDimensions(new MockDocumentDimensions(40, 51)); 94 viewport.setDocumentDimensions(new MockDocumentDimensions(40, 51));
95 scrollbars = viewport.documentNeedsScrollbars_(2); 95 scrollbars = viewport.documentNeedsScrollbars_(2);
96 chrome.test.assertTrue(scrollbars.vertical); 96 chrome.test.assertTrue(scrollbars.vertical);
97 chrome.test.assertFalse(scrollbars.horizontal); 97 chrome.test.assertFalse(scrollbars.horizontal);
98 98
99 viewport.setDocumentDimensions(new MockDocumentDimensions(101, 202)); 99 viewport.setDocumentDimensions(new MockDocumentDimensions(101, 202));
100 scrollbars = viewport.documentNeedsScrollbars_(0.5); 100 scrollbars = viewport.documentNeedsScrollbars_(0.5);
101 chrome.test.assertTrue(scrollbars.vertical); 101 chrome.test.assertTrue(scrollbars.vertical);
102 chrome.test.assertFalse(scrollbars.horizontal); 102 chrome.test.assertFalse(scrollbars.horizontal);
103 chrome.test.succeed();
103 }, 104 },
104 105
105 function testSetZoom() { 106 function testSetZoom() {
106 var mockWindow = new MockWindow(100, 100); 107 var mockWindow = new MockWindow(100, 100);
107 var mockSizer = new MockSizer(); 108 var mockSizer = new MockSizer();
108 var mockCallback = new MockViewportChangedCallback(); 109 var mockCallback = new MockViewportChangedCallback();
109 var viewport = new Viewport(mockWindow, mockSizer, 110 var viewport = new Viewport(mockWindow, mockSizer,
110 mockCallback.callback, 0); 111 mockCallback.callback, 0);
111 112
112 // Test setting the zoom without the document dimensions set. The sizer 113 // Test setting the zoom without the document dimensions set. The sizer
(...skipping 29 matching lines...) Expand all
142 // 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
143 // center of the page. 144 // center of the page.
144 viewport.setZoom_(1); 145 viewport.setZoom_(1);
145 mockWindow.pageXOffset = 50; 146 mockWindow.pageXOffset = 50;
146 mockWindow.pageYOffset = 50; 147 mockWindow.pageYOffset = 50;
147 viewport.setZoom_(2); 148 viewport.setZoom_(2);
148 chrome.test.assertEq('400px', mockSizer.style.width); 149 chrome.test.assertEq('400px', mockSizer.style.width);
149 chrome.test.assertEq('400px', mockSizer.style.height); 150 chrome.test.assertEq('400px', mockSizer.style.height);
150 chrome.test.assertEq(150, mockWindow.pageXOffset); 151 chrome.test.assertEq(150, mockWindow.pageXOffset);
151 chrome.test.assertEq(150, mockWindow.pageYOffset); 152 chrome.test.assertEq(150, mockWindow.pageYOffset);
153 chrome.test.succeed();
152 }, 154 },
153 155
154 function testGetMostVisiblePage() { 156 function testGetMostVisiblePage() {
155 var mockWindow = new MockWindow(100, 100); 157 var mockWindow = new MockWindow(100, 100);
156 var viewport = new Viewport(mockWindow, new MockSizer(), function() {}, 0); 158 var viewport = new Viewport(mockWindow, new MockSizer(), function() {}, 0);
157 159
158 var documentDimensions = new MockDocumentDimensions(100, 100); 160 var documentDimensions = new MockDocumentDimensions(100, 100);
159 documentDimensions.addPage(100, 100); 161 documentDimensions.addPage(100, 100);
160 documentDimensions.addPage(150, 100); 162 documentDimensions.addPage(150, 100);
161 documentDimensions.addPage(100, 200); 163 documentDimensions.addPage(100, 200);
(...skipping 17 matching lines...) Expand all
179 chrome.test.assertEq(1, viewport.getMostVisiblePage()); 181 chrome.test.assertEq(1, viewport.getMostVisiblePage());
180 182
181 // Scrolled most of the way through the second page. 183 // Scrolled most of the way through the second page.
182 mockWindow.scrollTo(0, 180); 184 mockWindow.scrollTo(0, 180);
183 chrome.test.assertEq(2, viewport.getMostVisiblePage()); 185 chrome.test.assertEq(2, viewport.getMostVisiblePage());
184 186
185 // Scrolled just over half way through the first page with 2x zoom. 187 // Scrolled just over half way through the first page with 2x zoom.
186 viewport.setZoom_(2); 188 viewport.setZoom_(2);
187 mockWindow.scrollTo(0, 151); 189 mockWindow.scrollTo(0, 151);
188 chrome.test.assertEq(1, viewport.getMostVisiblePage()); 190 chrome.test.assertEq(1, viewport.getMostVisiblePage());
191 chrome.test.succeed();
189 }, 192 },
190 193
191 function testFitToWidth() { 194 function testFitToWidth() {
192 var mockWindow = new MockWindow(100, 100); 195 var mockWindow = new MockWindow(100, 100);
193 var mockSizer = new MockSizer(); 196 var mockSizer = new MockSizer();
194 var mockCallback = new MockViewportChangedCallback(); 197 var mockCallback = new MockViewportChangedCallback();
195 var viewport = new Viewport(mockWindow, mockSizer, 198 var viewport = new Viewport(mockWindow, mockSizer,
196 mockCallback.callback, 0); 199 mockCallback.callback, 0);
197 var documentDimensions = new MockDocumentDimensions(); 200 var documentDimensions = new MockDocumentDimensions();
198 201
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 viewport = new Viewport(mockWindow, mockSizer, 249 viewport = new Viewport(mockWindow, mockSizer,
247 mockCallback.callback, 15); 250 mockCallback.callback, 15);
248 documentDimensions.reset(); 251 documentDimensions.reset();
249 documentDimensions.addPage(50, 100); 252 documentDimensions.addPage(50, 100);
250 viewport.setDocumentDimensions(documentDimensions); 253 viewport.setDocumentDimensions(documentDimensions);
251 mockCallback.reset(); 254 mockCallback.reset();
252 viewport.fitToWidth(); 255 viewport.fitToWidth();
253 chrome.test.assertTrue(mockCallback.wasCalled); 256 chrome.test.assertTrue(mockCallback.wasCalled);
254 chrome.test.assertEq('85px', mockSizer.style.width); 257 chrome.test.assertEq('85px', mockSizer.style.width);
255 chrome.test.assertEq(1.7, viewport.zoom); 258 chrome.test.assertEq(1.7, viewport.zoom);
259 chrome.test.succeed();
256 }, 260 },
257 261
258 function testFitToPage() { 262 function testFitToPage() {
259 var mockWindow = new MockWindow(100, 100); 263 var mockWindow = new MockWindow(100, 100);
260 var mockSizer = new MockSizer(); 264 var mockSizer = new MockSizer();
261 var mockCallback = new MockViewportChangedCallback(); 265 var mockCallback = new MockViewportChangedCallback();
262 var viewport = new Viewport(mockWindow, mockSizer, 266 var viewport = new Viewport(mockWindow, mockSizer,
263 mockCallback.callback, 0); 267 mockCallback.callback, 0);
264 var documentDimensions = new MockDocumentDimensions(); 268 var documentDimensions = new MockDocumentDimensions();
265 269
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 chrome.test.assertEq(0.5, viewport.zoom); 334 chrome.test.assertEq(0.5, viewport.zoom);
331 chrome.test.assertEq(0, viewport.position.x); 335 chrome.test.assertEq(0, viewport.position.x);
332 chrome.test.assertEq(0, viewport.position.y); 336 chrome.test.assertEq(0, viewport.position.y);
333 viewport.setZoom_(1); 337 viewport.setZoom_(1);
334 mockWindow.scrollTo(0, 175); 338 mockWindow.scrollTo(0, 175);
335 viewport.fitToPage(); 339 viewport.fitToPage();
336 chrome.test.assertEq(0.25, viewport.zoom); 340 chrome.test.assertEq(0.25, viewport.zoom);
337 // The page will be centred because it is less than the document width. 341 // The page will be centred because it is less than the document width.
338 chrome.test.assertEq(12.5, viewport.position.x); 342 chrome.test.assertEq(12.5, viewport.position.x);
339 chrome.test.assertEq(50, viewport.position.y); 343 chrome.test.assertEq(50, viewport.position.y);
344 chrome.test.succeed();
340 }, 345 },
341 346
342 function testGoToPage() { 347 function testGoToPage() {
343 var mockWindow = new MockWindow(100, 100); 348 var mockWindow = new MockWindow(100, 100);
344 var mockSizer = new MockSizer(); 349 var mockSizer = new MockSizer();
345 var mockCallback = new MockViewportChangedCallback(); 350 var mockCallback = new MockViewportChangedCallback();
346 var viewport = new Viewport(mockWindow, mockSizer, 351 var viewport = new Viewport(mockWindow, mockSizer,
347 mockCallback.callback, 0); 352 mockCallback.callback, 0);
348 var documentDimensions = new MockDocumentDimensions(); 353 var documentDimensions = new MockDocumentDimensions();
349 354
(...skipping 20 matching lines...) Expand all
370 chrome.test.assertTrue(mockCallback.wasCalled); 375 chrome.test.assertTrue(mockCallback.wasCalled);
371 chrome.test.assertEq(0, viewport.position.x); 376 chrome.test.assertEq(0, viewport.position.x);
372 chrome.test.assertEq(300, viewport.position.y); 377 chrome.test.assertEq(300, viewport.position.y);
373 378
374 viewport.setZoom_(0.5); 379 viewport.setZoom_(0.5);
375 mockCallback.reset(); 380 mockCallback.reset();
376 viewport.goToPage(2) 381 viewport.goToPage(2)
377 chrome.test.assertTrue(mockCallback.wasCalled); 382 chrome.test.assertTrue(mockCallback.wasCalled);
378 chrome.test.assertEq(0, viewport.position.x); 383 chrome.test.assertEq(0, viewport.position.x);
379 chrome.test.assertEq(150, viewport.position.y); 384 chrome.test.assertEq(150, viewport.position.y);
385 chrome.test.succeed();
380 }, 386 },
381 387
382 function testGetPageScreenRect() { 388 function testGetPageScreenRect() {
383 var mockWindow = new MockWindow(100, 100); 389 var mockWindow = new MockWindow(100, 100);
384 var mockSizer = new MockSizer(); 390 var mockSizer = new MockSizer();
385 var mockCallback = new MockViewportChangedCallback(); 391 var mockCallback = new MockViewportChangedCallback();
386 var viewport = new Viewport(mockWindow, mockSizer, 392 var viewport = new Viewport(mockWindow, mockSizer,
387 mockCallback.callback, 0); 393 mockCallback.callback, 0);
388 var documentDimensions = new MockDocumentDimensions(); 394 var documentDimensions = new MockDocumentDimensions();
389 documentDimensions.addPage(100, 100); 395 documentDimensions.addPage(100, 100);
(...skipping 22 matching lines...) Expand all
412 418
413 // Check the rect of the second page is positioned/sized correctly. 419 // Check the rect of the second page is positioned/sized correctly.
414 mockWindow.scrollTo(0, 100); 420 mockWindow.scrollTo(0, 100);
415 rect1 = viewport.getPageScreenRect(1); 421 rect1 = viewport.getPageScreenRect(1);
416 chrome.test.assertEq(Viewport.PAGE_SHADOW.left, rect1.x); 422 chrome.test.assertEq(Viewport.PAGE_SHADOW.left, rect1.x);
417 chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y); 423 chrome.test.assertEq(Viewport.PAGE_SHADOW.top, rect1.y);
418 chrome.test.assertEq(200 - Viewport.PAGE_SHADOW.right - 424 chrome.test.assertEq(200 - Viewport.PAGE_SHADOW.right -
419 Viewport.PAGE_SHADOW.left, rect1.width); 425 Viewport.PAGE_SHADOW.left, rect1.width);
420 chrome.test.assertEq(200 - Viewport.PAGE_SHADOW.bottom - 426 chrome.test.assertEq(200 - Viewport.PAGE_SHADOW.bottom -
421 Viewport.PAGE_SHADOW.top, rect1.height); 427 Viewport.PAGE_SHADOW.top, rect1.height);
428 chrome.test.succeed();
422 } 429 }
423 ]; 430 ];
424 431
425 function runTests() { 432 chrome.test.runTests(tests);
426 for (var i = 0; i < tests.length; ++i) {
427 console.log('Running: ' + tests[i].name);
428 tests[i]();
429 }
430 chrome.test.notifyPass();
431 }
432
433 runTests();
OLDNEW
« no previous file with comments | « chrome/test/data/pdf/basic_test.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698