blob: 2707aef415a855893391464096d2b529b4bdbc03 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test.js"></script>
<script src="../resources/common.js"></script>
</head>
<body>
<script>
description('Check stepping-up and -down for month input fields from renderer.');
if (!window.eventSender)
debug('This test requires eventSender.');
var input = document.createElement('input');
input.type = 'month';
document.body.appendChild(input);
function setInputAttributes(value, min, max) {
input.value = value;
input.min = min;
input.max = max;
}
function stepUp(value, min, max) {
setInputAttributes(value, min, max);
eventSender.keyDown('ArrowUp');
return input.value;
}
function stepDown(value, min, max) {
setInputAttributes(value, min, max);
eventSender.keyDown('ArrowDown');
return input.value;
}
input.focus();
debug('Function arguments are (value, min, max, [keySequence]).');
debug('Month');
shouldBeEqualToString('stepUp("2000-05", "2000-05", "2000-10")', '2000-06');
shouldBeEqualToString('stepDown("2000-05", "2000-05", "2000-10")', '2000-10');
shouldBeEqualToString('stepUp("2000-05", "2000-02", "2000-05")', '2000-02');
shouldBeEqualToString('stepDown("2000-05", "2000-02", "2000-05")', '2000-04');
shouldBeEqualToString('stepUp("2000-05", "2000-08", "2000-10")', '2000-08');
shouldBeEqualToString('stepDown("2000-05", "2000-08", "2000-10")', '2000-10');
shouldBeEqualToString('stepUp("2000-05", "2000-03", "2000-03")', '2000-03');
shouldBeEqualToString('stepDown("2000-05", "2000-03", "2000-03")', '2000-03');
shouldBeEqualToString('stepUp("2000-05", "2000-03", "2001-05")', '2000-06');
shouldBeEqualToString('stepDown("2000-05", "2000-05", "2001-08")', '2000-04');
debug('Year');
eventSender.keyDown('ArrowRight');
shouldBeEqualToString('stepUp("2000-01", "2000-01", "2009-12")', '2001-01');
shouldBeEqualToString('stepDown("2000-01", "2000-01", "2009-12")', '2009-01');
shouldBeEqualToString('stepUp("2000-01", "1990-01", "2000-12")', '1990-01');
shouldBeEqualToString('stepDown("2000-01", "1990-01", "2000-12")', '1999-01');
shouldBeEqualToString('stepUp("275760-01", "1990-01", null)', '1990-01');
shouldBeEqualToString('stepDown("1990-01", "1990-01", null)', '275760-01');
shouldBeEqualToString('stepUp("2000-01", null, "2000-12")', '0001-01');
shouldBeEqualToString('stepDown("0001-01", null, "2000-12")', '2000-01');
shouldBeEqualToString('stepUp("1990-01", "2000-01", "2009-12")', '2000-01');
shouldBeEqualToString('stepDown("1990-01", "2000-01", "2009-12")', '2009-01');
shouldBeEqualToString('stepUp("2020-01", "2000-01", "2000-12")', '2000-01');
shouldBeEqualToString('stepDown("2020-01", "2000-01", "2000-12")', '2000-01');
debug('');
input.remove();
</script>
</body>
</html>