blob: 355f226584284c1b85fcd984168df3497e0281d7 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../../forms/resources/common.js"></script>
<script src="../../forms/resources/picker-common.js"></script>
<script src="resources/calendar-picker-common.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<input type=week id=week value="2000-W01">
<script>
description("Tests if calendar picker mouse operations work as expected.");
debug('Check that page popup doesn\'t exist at first.');
shouldBeNull('document.getElementById("mock-page-popup")');
openPicker(document.getElementById('week'), test);
var position;
eventSender.clearTouchPoints();
function test() {
debug('Open the month popup.');
shouldBeFalse('popupWindow.global.picker.monthPopupView.isVisible');
clickMonthPopupButton();
shouldBeTrue('popupWindow.global.picker.monthPopupView.isVisible');
debug('Check that touch swiping scrolls the list in the month popup.');
checkYearListViewScrollOffset();
popupWindow.global.picker.monthPopupView.yearListView.element.addEventListener('touchend', testAfterSwipingDown, false);
position = skipAnimationAndGetPositionOfMonthButton(2000, 0);
eventSender.addTouchPoint(position.x, position.y);
eventSender.touchStart();
position = skipAnimationAndGetPositionOfMonthButton(2000, 11);
eventSender.updateTouchPoint(0, position.x, position.y);
eventSender.touchMove();
eventSender.releaseTouchPoint(0);
eventSender.touchEnd();
}
function testAfterSwipingDown() {
shouldBeTrue('checkYearListViewScrollOffset() > 0');
popupWindow.global.picker.monthPopupView.yearListView.element.removeEventListener('touchend', testAfterSwipingDown, false);
setTimeout(testSwipingUp, 0);
}
function testSwipingUp() {
checkYearListViewScrollOffset();
popupWindow.global.picker.monthPopupView.yearListView.element.addEventListener('touchend', testAfterSwipingUp, false);
eventSender.addTouchPoint(position.x, position.y);
eventSender.touchStart();
position = skipAnimationAndGetPositionOfMonthPopupButton();
eventSender.updateTouchPoint(0, position.x, position.y);
eventSender.touchMove();
eventSender.releaseTouchPoint(0);
eventSender.touchEnd();
}
function testAfterSwipingUp() {
shouldBeTrue('checkYearListViewScrollOffset() < 0');
popupWindow.global.picker.monthPopupView.yearListView.element.removeEventListener('touchend', testAfterSwipingUp, false);
finishJSTest();
}
</script>
</body>
</html>