blob: 795b154aac202aa900ca04e8f74bef8687a781dc [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<input id=i1 type=number value="3.14" autofocus step=1 min="0.14" max=5>
<p id="description"></p>
<div id="console"></div>
<script>
description('Test for the spin control behavior in a type=numnber input.');
if (window.eventSender) {
debug('Initial value is 3.14, click the up button once');
// The spin control is at (130,-1) in the input element on Mac.
// The size is 15x22.
var i = document.getElementById('i1');
eventSender.mouseMoveTo(i.offsetLeft + i.offsetWidth - 4, i.offsetTop + 4);
eventSender.mouseDown();
eventSender.mouseUp();
// The up button has been clicked.
shouldBe('i.value', '"4.14"');
debug('Click the up button again. The maximum value is 5.');
eventSender.mouseDown();
eventSender.mouseUp();
// The maximum value is 5. So the value is not changed.
shouldBe('i.value', '"4.14"');
debug('Click the down button four times');
eventSender.mouseMoveTo(i.offsetLeft + i.offsetWidth - 4, i.offsetTop + 15);
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
eventSender.mouseDown();
eventSender.mouseUp();
shouldBe('i.value', '"0.14"');
debug('Click the down button again. The minimum value is 0.');
// The minimum value is 0. So the value is not changed.
eventSender.mouseDown();
eventSender.mouseUp();
shouldBe('i.value', '"0.14"');
debug('Make the control "disabled" and click the up button');
i.disabled = true;
eventSender.mouseMoveTo(i.offsetLeft + i.offsetWidth - 4, i.offsetTop + 4);
eventSender.mouseDown();
eventSender.mouseUp();
shouldBe('i.value', '"0.14"');
i.disabled = false;
debug('Make the control "readOnly" and click the up button');
i.readOnly = true;
eventSender.mouseMoveTo(i.offsetLeft + i.offsetWidth - 4, i.offsetTop + 4);
eventSender.mouseDown();
eventSender.mouseUp();
shouldBe('i.value', '"0.14"');
i.readOnly = false;
} else {
document.getElementById('console').innerHTML = 'No eventSender';
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>