Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / forms / date / ValidityState-rangeUnderflow-date.html
blob74e9b2b88b624102c88a634d562ab700a4d7d972
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../../resources/js-test.js"></script>
5 </head>
6 <body>
7 <p id="description"></p>
8 <div id="console"></div>
9 <script>
10 description('This test aims to check for rangeUnderflow flag with date input fields');
12 var input = document.createElement('input');
14 function checkUnderflow(value, min, disabled)
16 input.value = value;
17 input.min = min;
18 input.disabled = !!disabled;
19 var underflow = input.validity.rangeUnderflow;
20 var resultText = 'The value "' + input.value + '" ' +
21 (underflow ? 'undeflows' : 'doesn\'t underflow') +
22 ' the minimum value "' + input.min + '"' + (disabled ? ' when disabled.' : '.');
23 if (underflow)
24 testPassed(resultText);
25 else
26 testFailed(resultText);
29 function checkNotUnderflow(value, min, disabled, sanitized)
31 input.value = value;
32 input.min = min;
33 input.disabled = !!disabled;
34 var underflow = input.validity.rangeUnderflow;
35 var resultText = 'The value "' + input.value + '" ' +
36 (sanitized ? 'sanitized from "' + value + '" ' : '') +
37 (underflow ? 'underflows' : 'doesn\'t underflow') +
38 ' the minimum value "' + input.min + '"' + (disabled ? ' when disabled.' : '.');
39 if (underflow)
40 testFailed(resultText);
41 else
42 testPassed(resultText);
45 function checkSanitizedValueNotUnderflow(value, max, disabled)
47 // For date types, invalid values are sanitized to "".
48 checkNotUnderflow(value, max, disabled, true);
51 input.type = 'date';
52 input.max = '';
53 // No underflow cases
54 checkNotUnderflow('2010-01-27', null);
55 checkNotUnderflow('2010-01-27', '');
56 checkNotUnderflow('2010-01-27', 'foo');
57 // 1000-01-01 is smaller than the implicit minimum value.
58 // But the date parser rejects it before comparing the minimum value.
59 checkNotUnderflow('1000-01-01', '');
60 checkNotUnderflow('1582-10-15', '');
61 checkNotUnderflow('2010-01-27', '2010-01-26');
62 checkNotUnderflow('2010-01-27', '2009-01-28');
63 checkSanitizedValueNotUnderflow('foo', '2011-01-26');
65 // Underflow cases
66 checkUnderflow('2010-01-27', '2010-01-28');
67 checkUnderflow('9999-01-01', '10000-12-31');
68 input.max = '2010-01-01'; // value < min && value > max
69 checkUnderflow('2010-01-27', '2010-02-01');
71 // Disabled
72 checkNotUnderflow('9999-01-01', '10000-12-31', true);
73 </script>
74 </body>
75 </html>