Index: remoting/webapp/browser_test/bump_scroll_browser_test.js |
diff --git a/remoting/webapp/browser_test/bump_scroll_browser_test.js b/remoting/webapp/browser_test/bump_scroll_browser_test.js |
index 71545b412ec7a8d84aa6909104de908475784977..68ca67d26e8f41bfb580319448490a78a70fca88 100644 |
--- a/remoting/webapp/browser_test/bump_scroll_browser_test.js |
+++ b/remoting/webapp/browser_test/bump_scroll_browser_test.js |
@@ -13,21 +13,30 @@ |
'use strict'; |
/** @constructor */ |
-browserTest.FakeDesktopConnectedView = function() { |
+browserTest.FakeDesktopViewport = function() { |
this.pluginPosition = { |
top: 0, |
left: 0 |
}; |
- this.defineEvents(Object.keys(remoting.DesktopConnectedView.Events)); |
+ this.bumpScroller = new base.EventSourceImpl(); |
+ this.bumpScroller.defineEvents(Object.keys(remoting.BumpScroller.Events)); |
}; |
-base.extend(browserTest.FakeDesktopConnectedView, base.EventSourceImpl); |
- |
-browserTest.FakeDesktopConnectedView.prototype.getPluginPositionForTesting = |
+browserTest.FakeDesktopViewport.prototype.getPluginPositionForTesting = |
function() { |
return this.pluginPosition; |
}; |
+browserTest.FakeDesktopViewport.prototype.getBumpScrollerForTesting = |
+ function() { |
+ return this.bumpScroller; |
+}; |
+ |
+browserTest.FakeDesktopViewport.prototype.raiseEvent = |
+ function() { |
+ return this.bumpScroller.raiseEvent.apply(this.bumpScroller, arguments); |
+}; |
+ |
/** @constructor */ |
browserTest.Bump_Scroll = function() { |
@@ -79,18 +88,20 @@ browserTest.Bump_Scroll.prototype.run = function(data) { |
}; |
browserTest.Bump_Scroll.prototype.noScrollWindowed = function() { |
- remoting.desktopConnectedView.pluginWidthForBumpScrollTesting = |
+ var viewport = remoting.desktopConnectedView.getViewportForTesting(); |
+ viewport.pluginWidthForBumpScrollTesting = |
window.innerWidth + this.kHostDesktopSizeDelta; |
- remoting.desktopConnectedView.pluginHeightForBumpScrollTesting = |
+ viewport.pluginHeightForBumpScrollTesting = |
window.innerHeight + this.kHostDesktopSizeDelta; |
this.moveMouseTo(0, 0); |
return this.verifyScroll(undefined, undefined); |
}; |
browserTest.Bump_Scroll.prototype.noScrollSmaller = function() { |
- remoting.desktopConnectedView.pluginWidthForBumpScrollTesting = |
+ var viewport = remoting.desktopConnectedView.getViewportForTesting(); |
+ viewport.pluginWidthForBumpScrollTesting = |
window.innerWidth - this.kHostDesktopSizeDelta; |
- remoting.desktopConnectedView.pluginHeightForBumpScrollTesting = |
+ viewport.pluginHeightForBumpScrollTesting = |
window.innerHeight - this.kHostDesktopSizeDelta; |
this.moveMouseTo(0, 0); |
return this.verifyScroll(undefined, undefined); |
@@ -98,9 +109,10 @@ browserTest.Bump_Scroll.prototype.noScrollSmaller = function() { |
browserTest.Bump_Scroll.prototype.scrollDirection = |
function(widthFraction, heightFraction) { |
- remoting.desktopConnectedView.pluginWidthForBumpScrollTesting = |
+ var viewport = remoting.desktopConnectedView.getViewportForTesting(); |
+ viewport.pluginWidthForBumpScrollTesting = |
screen.width + this.kHostDesktopSizeDelta; |
- remoting.desktopConnectedView.pluginHeightForBumpScrollTesting = |
+ viewport.pluginHeightForBumpScrollTesting = |
screen.height + this.kHostDesktopSizeDelta; |
var expectedTop = heightFraction == 0.0 ? 0 : |
heightFraction == 1.0 ? -this.kHostDesktopSizeDelta : |
@@ -156,52 +168,52 @@ browserTest.Bump_Scroll.prototype.moveMouseTo = function(x, y) { |
// verifyScroll is complicated enough to warrant a test |
browserTest.Bump_Scroll.prototype.testVerifyScroll = function() { |
- var STARTED = remoting.DesktopConnectedView.Events.bumpScrollStarted; |
- var STOPPED = remoting.DesktopConnectedView.Events.bumpScrollStopped; |
- var fakeSession = new browserTest.FakeDesktopConnectedView; |
+ var STARTED = remoting.BumpScroller.Events.bumpScrollStarted; |
+ var STOPPED = remoting.BumpScroller.Events.bumpScrollStopped; |
+ var fakeViewport = new browserTest.FakeDesktopViewport; |
var that = this; |
// No events raised (e.g. windowed mode). |
- var result = this.verifyScroll(undefined, undefined, fakeSession) |
+ var result = this.verifyScroll(undefined, undefined, fakeViewport) |
.then(function() { |
// Start and end events raised, but no scrolling (e.g. full-screen mode |
// with host desktop <= window size). |
- fakeSession = new browserTest.FakeDesktopConnectedView; |
- var result = that.verifyScroll(undefined, undefined, fakeSession); |
- fakeSession.raiseEvent(STARTED, {}); |
- fakeSession.raiseEvent(STOPPED, {}); |
+ fakeViewport = new browserTest.FakeDesktopViewport; |
+ var result = that.verifyScroll(undefined, undefined, fakeViewport); |
+ fakeViewport.raiseEvent(STARTED, {}); |
+ fakeViewport.raiseEvent(STOPPED, {}); |
return result; |
}).then(function() { |
// Start and end events raised, with incorrect scrolling. |
- fakeSession = new browserTest.FakeDesktopConnectedView; |
+ fakeViewport = new browserTest.FakeDesktopViewport; |
var result = base.Promise.negate( |
- that.verifyScroll(2, 2, fakeSession)); |
- fakeSession.raiseEvent(STARTED, {}); |
- fakeSession.pluginPosition.top = 1; |
- fakeSession.pluginPosition.left = 1; |
- fakeSession.raiseEvent(STOPPED, {}); |
+ that.verifyScroll(2, 2, fakeViewport)); |
+ fakeViewport.raiseEvent(STARTED, {}); |
+ fakeViewport.pluginPosition.top = 1; |
+ fakeViewport.pluginPosition.left = 1; |
+ fakeViewport.raiseEvent(STOPPED, {}); |
return result; |
}).then(function() { |
// Start event raised, but not end event. |
- fakeSession = new browserTest.FakeDesktopConnectedView; |
+ fakeViewport = new browserTest.FakeDesktopViewport; |
var result = base.Promise.negate( |
- that.verifyScroll(2, 2, fakeSession)); |
- fakeSession.raiseEvent(STARTED, {}); |
- fakeSession.pluginPosition.top = 2; |
- fakeSession.pluginPosition.left = 2; |
+ that.verifyScroll(2, 2, fakeViewport)); |
+ fakeViewport.raiseEvent(STARTED, {}); |
+ fakeViewport.pluginPosition.top = 2; |
+ fakeViewport.pluginPosition.left = 2; |
return result; |
}).then(function() { |
// Start and end events raised, with correct scrolling. |
- fakeSession = new browserTest.FakeDesktopConnectedView; |
- var result = that.verifyScroll(2, 2, fakeSession); |
- fakeSession.raiseEvent(STARTED, {}); |
- fakeSession.pluginPosition.top = 2; |
- fakeSession.pluginPosition.left = 2; |
- fakeSession.raiseEvent(STOPPED, {}); |
+ fakeViewport = new browserTest.FakeDesktopViewport; |
+ var result = that.verifyScroll(2, 2, fakeViewport); |
+ fakeViewport.raiseEvent(STARTED, {}); |
+ fakeViewport.pluginPosition.top = 2; |
+ fakeViewport.pluginPosition.left = 2; |
+ fakeViewport.raiseEvent(STOPPED, {}); |
return result; |
}); |
@@ -215,23 +227,23 @@ browserTest.Bump_Scroll.prototype.testVerifyScroll = function() { |
* plugin, or undefined if it is not expected to change. |
* @param {number|undefined} expectedLeft The expected horizontal position of |
* the plugin, or undefined if it is not expected to change. |
- * @param {browserTest.FakeDesktopConnectedView=} opt_desktopConnectedView |
- * DesktopConnectedView fake, for testing. |
+ * @param {browserTest.FakeDesktopViewport=} opt_desktopViewport |
+ * DesktopViewport fake, for testing. |
*/ |
browserTest.Bump_Scroll.prototype.verifyScroll = |
- function (expectedTop, expectedLeft, opt_desktopConnectedView) { |
- var desktopConnectedView = opt_desktopConnectedView || |
- remoting.desktopConnectedView; |
- base.debug.assert(desktopConnectedView != null); |
- var STARTED = remoting.DesktopConnectedView.Events.bumpScrollStarted; |
- var STOPPED = remoting.DesktopConnectedView.Events.bumpScrollStopped; |
+ function (expectedTop, expectedLeft, opt_desktopViewport) { |
+ var desktopViewport = opt_desktopViewport || |
+ remoting.desktopConnectedView.getViewportForTesting(); |
+ base.debug.assert(desktopViewport != null); |
+ var STARTED = remoting.BumpScroller.Events.bumpScrollStarted; |
+ var STOPPED = remoting.BumpScroller.Events.bumpScrollStopped; |
- var initialPosition = desktopConnectedView.getPluginPositionForTesting(); |
+ var initialPosition = desktopViewport.getPluginPositionForTesting(); |
var initialTop = initialPosition.top; |
var initialLeft = initialPosition.left; |
var verifyPluginPosition = function() { |
- var position = desktopConnectedView.getPluginPositionForTesting(); |
+ var position = desktopViewport.getPluginPositionForTesting(); |
if (expectedLeft === undefined) { |
expectedLeft = initialLeft; |
} |
@@ -248,16 +260,15 @@ browserTest.Bump_Scroll.prototype.verifyScroll = |
} |
}; |
- var started = browserTest.expectEvent(desktopConnectedView, STARTED, 1000); |
- var stopped = browserTest.expectEvent(desktopConnectedView, STOPPED, 5000); |
- return started.then(function() { |
- return stopped.then(function() { |
- return verifyPluginPosition(); |
- }); |
+ var bumpScroller = desktopViewport.getBumpScrollerForTesting(); |
+ var started = browserTest.expectEvent(bumpScroller, STARTED, 1000); |
+ var stopped = browserTest.expectEvent(bumpScroller, STOPPED, 5000); |
+ return Promise.all([started, stopped]).then(function() { |
Jamie
2015/02/18 00:33:10
Promise.all is not order-dependent, right? So I th
kelvinp
2015/02/20 23:24:16
Done.
|
+ return verifyPluginPosition(); |
}, function() { |
// If no started event is raised, the test might still pass if it asserted |
// no scrolling. |
- if (expectedTop == undefined && expectedLeft == undefined) { |
+ if (expectedTop === undefined && expectedLeft === undefined) { |
return Promise.resolve(); |
} else { |
return Promise.reject( |