Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<title>Input Step Down</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<input type='number' id='input'>
<script>
const input = document.getElementById("input");
function testStepDown(initialValue, minValue, expectedValue) {
input.value = initialValue;
input.min = minValue;
input.stepDown();
assert_equals(input.value, expectedValue);
}
const tests = [
{ initialValue: '', minValue: '', expectedValue: '-1', description: 'stepDown() on input with no initial or min values' },
{ initialValue: '', minValue: '7', expectedValue: '7', description: 'stepDown() on input with no initial value and positive min value' },
{ initialValue: '', minValue: '-7', expectedValue: '-1', description: 'stepDown() on input with no initial value and negative min value' },
{ initialValue: '7', minValue: '7', expectedValue: '7', description: 'stepDown() on input with initial value equal to min value' },
{ initialValue: '3', minValue: '7', expectedValue: '3', description: 'stepDown() on input with initial value less than min value' },
{ initialValue: '10', minValue: '7', expectedValue: '9', description: 'stepDown() on input with initial value greater than min value' },
];
for(const t of tests) {
test(()=>{
testStepDown(
t.initialValue,
t.minValue,
t.expectedValue
);
},
t.description);
}
</script>