summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/forms/the-input-element/input-stepdown-02.html
blob: db71d110092849c90f2f96a5ea476b5476dc8913 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE HTML>
<title>Input Step Down</title>

<link rel="help" href="https://html.spec.whatwg.org/multipage/input.html#dom-input-stepup">

<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>