Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 chrome.test.runTests(function() { | 5 chrome.test.runTests(function() { |
| 6 'use strict'; | 6 'use strict'; |
| 7 | 7 |
| 8 class MockViewport { | 8 class MockViewport { |
| 9 constructor() { | 9 constructor() { |
| 10 this.zooms = []; | 10 this.zooms = []; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 46 complete() { | 46 complete() { |
| 47 this.resolve_(); | 47 this.resolve_(); |
| 48 this.started = false; | 48 this.started = false; |
| 49 } | 49 } |
| 50 }; | 50 }; |
| 51 | 51 |
| 52 return [ | 52 return [ |
| 53 function testZoomChange() { | 53 function testZoomChange() { |
| 54 let viewport = new MockViewport(); | 54 let viewport = new MockViewport(); |
| 55 let browserZoomSetter = new MockBrowserZoomSetter(); | 55 let browserZoomSetter = new MockBrowserZoomSetter(); |
| 56 let zoomManager = new ZoomManager( | 56 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE, |
|
Sam McNally
2016/11/18 04:59:23
Wrap these either
functionName(arg1, arg2,
Kevin McNee
2016/11/22 23:17:32
Done.
| |
| 57 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), | 57 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), |
| 58 1); | 58 1); |
| 59 viewport.zoom = 2; | 59 viewport.zoom = 2; |
| 60 zoomManager.onPdfZoomChange(); | 60 zoomManager.onPdfZoomChange(); |
| 61 chrome.test.assertEq(2, browserZoomSetter.zoom); | 61 chrome.test.assertEq(2, browserZoomSetter.zoom); |
| 62 chrome.test.assertTrue(browserZoomSetter.started); | 62 chrome.test.assertTrue(browserZoomSetter.started); |
| 63 chrome.test.succeed(); | 63 chrome.test.succeed(); |
| 64 }, | 64 }, |
| 65 | 65 |
| 66 function testBrowserZoomChange() { | 66 function testBrowserZoomChange() { |
| 67 let viewport = new MockViewport(); | 67 let viewport = new MockViewport(); |
| 68 let zoomManager = new ZoomManager(viewport, chrome.test.fail, 1); | 68 let zoomManager = ZoomManager.create( |
| 69 BrowserApi.ZoomBehaviour.MANAGE, viewport, chrome.test.fail, 1); | |
| 69 zoomManager.onBrowserZoomChange(3); | 70 zoomManager.onBrowserZoomChange(3); |
| 70 chrome.test.assertEq(1, viewport.zooms.length); | 71 chrome.test.assertEq(1, viewport.zooms.length); |
| 71 chrome.test.assertEq(3, viewport.zooms[0]); | 72 chrome.test.assertEq(3, viewport.zooms[0]); |
| 72 chrome.test.assertEq(3, viewport.zoom); | 73 chrome.test.assertEq(3, viewport.zoom); |
| 73 chrome.test.succeed(); | 74 chrome.test.succeed(); |
| 74 }, | 75 }, |
| 75 | 76 |
| 77 function testBrowserZoomChangeEmbedded() { | |
| 78 let viewport = new MockViewport(); | |
| 79 let zoomManager = ZoomManager.create( | |
| 80 BrowserApi.ZoomBehaviour.PROPAGATE_PARENT, viewport, | |
| 81 function() { return Promise.reject(); }, 1); | |
| 82 | |
| 83 zoomManager.onBrowserZoomChange(2); | |
| 84 chrome.test.assertEq(2, viewport.zoom); | |
| 85 | |
| 86 // Zooming in the browser should not overwrite the viewport's zoom, | |
| 87 // but cause the viewport to zoom in as well. | |
| 88 viewport.zoom = 3; | |
| 89 zoomManager.onBrowserZoomChange(3); | |
| 90 chrome.test.assertTrue(viewport.zoom > 3); | |
| 91 | |
| 92 chrome.test.succeed(); | |
| 93 }, | |
| 94 | |
| 76 function testSmallZoomChange() { | 95 function testSmallZoomChange() { |
| 77 let viewport = new MockViewport(); | 96 let viewport = new MockViewport(); |
| 78 let browserZoomSetter = new MockBrowserZoomSetter(); | 97 let browserZoomSetter = new MockBrowserZoomSetter(); |
| 79 let zoomManager = new ZoomManager( | 98 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE, |
| 80 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), | 99 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), |
| 81 2); | 100 2); |
| 82 viewport.zoom = 2.0001; | 101 viewport.zoom = 2.0001; |
| 83 zoomManager.onPdfZoomChange(); | 102 zoomManager.onPdfZoomChange(); |
| 84 chrome.test.assertEq(1, browserZoomSetter.zoom); | 103 chrome.test.assertEq(1, browserZoomSetter.zoom); |
| 85 chrome.test.assertFalse(browserZoomSetter.started); | 104 chrome.test.assertFalse(browserZoomSetter.started); |
| 86 chrome.test.succeed(); | 105 chrome.test.succeed(); |
| 87 }, | 106 }, |
| 88 | 107 |
| 89 function testSmallBrowserZoomChange() { | 108 function testSmallBrowserZoomChange() { |
| 90 let viewport = new MockViewport(); | 109 let viewport = new MockViewport(); |
| 91 let zoomManager = new ZoomManager(viewport, chrome.test.fail, 1); | 110 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE, |
| 111 viewport, chrome.test.fail, 1); | |
| 92 zoomManager.onBrowserZoomChange(0.999); | 112 zoomManager.onBrowserZoomChange(0.999); |
| 93 chrome.test.assertEq(0, viewport.zooms.length); | 113 chrome.test.assertEq(0, viewport.zooms.length); |
| 94 chrome.test.assertEq(1, viewport.zoom); | 114 chrome.test.assertEq(1, viewport.zoom); |
| 95 chrome.test.succeed(); | 115 chrome.test.succeed(); |
| 96 }, | 116 }, |
| 97 | 117 |
| 98 function testMultiplePdfZoomChanges() { | 118 function testMultiplePdfZoomChanges() { |
| 99 let viewport = new MockViewport(); | 119 let viewport = new MockViewport(); |
| 100 let browserZoomSetter = new MockBrowserZoomSetter(); | 120 let browserZoomSetter = new MockBrowserZoomSetter(); |
| 101 let zoomManager = new ZoomManager( | 121 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE, |
| 102 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), | 122 viewport, browserZoomSetter.setBrowserZoom.bind(browserZoomSetter), |
| 103 1); | 123 1); |
| 104 viewport.zoom = 2; | 124 viewport.zoom = 2; |
| 105 zoomManager.onPdfZoomChange(); | 125 zoomManager.onPdfZoomChange(); |
| 106 viewport.zoom = 3; | 126 viewport.zoom = 3; |
| 107 zoomManager.onPdfZoomChange(); | 127 zoomManager.onPdfZoomChange(); |
| 108 chrome.test.assertTrue(browserZoomSetter.started); | 128 chrome.test.assertTrue(browserZoomSetter.started); |
| 109 chrome.test.assertEq(2, browserZoomSetter.zoom); | 129 chrome.test.assertEq(2, browserZoomSetter.zoom); |
| 110 browserZoomSetter.complete(); | 130 browserZoomSetter.complete(); |
| 111 Promise.resolve().then(function() { | 131 Promise.resolve().then(function() { |
| 112 chrome.test.assertTrue(browserZoomSetter.started); | 132 chrome.test.assertTrue(browserZoomSetter.started); |
| 113 chrome.test.assertEq(3, browserZoomSetter.zoom); | 133 chrome.test.assertEq(3, browserZoomSetter.zoom); |
| 114 chrome.test.succeed(); | 134 chrome.test.succeed(); |
| 115 }); | 135 }); |
| 116 }, | 136 }, |
| 117 | 137 |
| 118 function testMultipleBrowserZoomChanges() { | 138 function testMultipleBrowserZoomChanges() { |
| 119 let viewport = new MockViewport(); | 139 let viewport = new MockViewport(); |
| 120 let zoomManager = new ZoomManager(viewport, chrome.test.fail, 1); | 140 let zoomManager = ZoomManager.create(BrowserApi.ZoomBehaviour.MANAGE, |
| 141 viewport, chrome.test.fail, 1); | |
| 121 zoomManager.onBrowserZoomChange(2); | 142 zoomManager.onBrowserZoomChange(2); |
| 122 zoomManager.onBrowserZoomChange(3); | 143 zoomManager.onBrowserZoomChange(3); |
| 123 chrome.test.assertEq(2, viewport.zooms.length); | 144 chrome.test.assertEq(2, viewport.zooms.length); |
| 124 chrome.test.assertEq(2, viewport.zooms[0]); | 145 chrome.test.assertEq(2, viewport.zooms[0]); |
| 125 chrome.test.assertEq(3, viewport.zooms[1]); | 146 chrome.test.assertEq(3, viewport.zooms[1]); |
| 126 chrome.test.assertEq(3, viewport.zoom); | 147 chrome.test.assertEq(3, viewport.zoom); |
| 127 chrome.test.succeed(); | 148 chrome.test.succeed(); |
| 128 }, | 149 }, |
| 129 ]; | 150 ]; |
| 130 }()); | 151 }()); |
| OLD | NEW |