4 <script src=
"../../../resources/js-test.js"></script>
7 <p id=
"description"></p>
8 <div id=
"console"></div>
10 description('This test aims to check for rangeOverflow flag with time input fields');
12 var input
= document
.createElement('input');
14 function checkOverflow(value
, max
, disabled
)
18 input
.disabled
= !!disabled
;
19 var overflow
= input
.validity
.rangeOverflow
;
20 var resultText
= 'The value "' + input
.value
+ '" ' +
21 (overflow
? 'overflows' : 'doesn\'t overflow') +
22 ' the maximum value "' + input
.max
+ '"' + (disabled
? ' when disabled.' : '.');
24 testPassed(resultText
);
26 testFailed(resultText
);
29 function checkNotOverflow(value
, max
, disabled
, sanitized
)
33 input
.disabled
= !!disabled
;
34 var overflow
= input
.validity
.rangeOverflow
;
35 var resultText
= 'The value "' + input
.value
+ '" ' +
36 (sanitized
? 'sanitized from "' + value
+ '" ' : '') +
37 (overflow
? 'overflows' : 'doesn\'t overflow') +
38 ' the maximum value "' + input
.max
+ '"' + (disabled
? ' when disabled.' : '.');
40 testFailed(resultText
);
42 testPassed(resultText
);
45 function checkSanitizedValueNotOverflow(value
, max
, disabled
)
47 // For date types, invalid values are sanitized to "".
48 checkNotOverflow(value
, max
, disabled
, true);
54 checkNotOverflow('13:16', null);
55 checkNotOverflow('13:16', '');
56 checkNotOverflow('13:16', 'foo');
57 checkNotOverflow('13:16', '13:16');
58 checkNotOverflow('13:16', '13:17');
59 checkNotOverflow('13:16', '14:15');
60 checkSanitizedValueNotOverflow('foo', '13:16');
63 checkOverflow('13:16', '13:15');
64 checkOverflow('23:59:59.999', '13:16');
65 input
.min
= '14:00'; // value < min && value > max
66 checkOverflow('13:16', '12:00');
69 checkNotOverflow('23:59:59.999', '13:16', true);