blob: c48556ca36ccc68f1cc21f09c0ccbc559be9c73b [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>window_scroll_test</title>
<link rel="stylesheet" href="/filez/_main/third_party/js/qunit/qunit.css">
<script src="/filez/_main/third_party/js/qunit/qunit.js"></script>
<script src="/filez/_main/third_party/js/qunit/qunit_test_runner.js"></script>
<script src="test_bootstrap.js" type="text/javascript"></script>
<script type="text/javascript">
goog.require('bot.userAgent');
goog.require('bot.window');
goog.require('goog.Promise');
goog.require('goog.math.Coordinate');
</script>
<script type="text/javascript">
function verifyScroll(assert, expectedScroll) {
var actualScroll = bot.window.getScroll();
assert.strictEqual(actualScroll.x, expectedScroll.x);
assert.strictEqual(actualScroll.y, expectedScroll.y);
}
QUnit.test('scrolling', function(assert) {
var done = assert.async();
// Initial page scroll should be (0, 0).
var pos = bot.window.getScroll();
verifyScroll(assert, new goog.math.Coordinate(0, 0));
pos = new goog.math.Coordinate(25, 50);
bot.window.setScroll(pos);
// Yield to ensure all browsers apply the scrolling change.
// Relying on the implicit tick in a promise resolution is enough.
goog.Promise.resolve().then(function() {
// For some reason Android stock browser and webview do not apply
// the full scroll.
if (goog.userAgent.product.ANDROID) {
pos = new goog.math.Coordinate(24, 48);
}
verifyScroll(assert, pos);
done();
});
});
QUnit.test('setScrollUsingGetScroll', function(assert) {
var pos = bot.window.getScroll();
bot.window.setScroll(pos);
verifyScroll(assert, pos);
});
</script>
</head>
<body style="width: 8000px; height: 8000px; padding: 0px;margin: 0px;">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
Hello
</body>
</html>