tizen beta release
[framework/web/webkit-efl.git] / LayoutTests / fast / forms / script-tests / ValidityState-typeMismatch-date.js
1 description('This test aims to check for typeMismatch flag with type=date input fields');
2 var i = document.createElement('input');
3 i.type = 'date';
4
5 function check(value, mismatchExpected, disabled)
6 {
7     i.value = value;
8     i.disabled = !!disabled;
9     var actual = i.validity.typeMismatch;
10     var didPass = actual == mismatchExpected;
11     var resultText = '"' + value + '" is ' + (didPass ? 'a correct ' : 'an incorrect ') + (actual ? 'invalid' : 'valid') + ' date string' + (disabled ? ' when disabled.' : '.');
12     if (didPass)
13         testPassed(resultText);
14     else
15         testFailed(resultText);
16 }
17
18 function shouldBeValid(value, disabled)
19 {
20     check(value, false, disabled);
21 }
22
23 function shouldBeInvalid(value)
24 {
25     check(value, true);
26 }
27
28 // Valid values
29 shouldBeValid('');
30 shouldBeValid('2009-09-07');
31 shouldBeValid('9999-12-31');
32 shouldBeValid('275760-09-13');
33 shouldBeValid('1582-10-15');
34 shouldBeValid('0001-01-01');
35 shouldBeValid('2009-01-31');
36 shouldBeValid('2009-02-28');
37 shouldBeValid('2009-03-31');
38 shouldBeValid('2009-04-30');
39 shouldBeValid('2009-05-31');
40 shouldBeValid('2009-06-30');
41 shouldBeValid('2009-07-31');
42 shouldBeValid('2009-08-31');
43 shouldBeValid('2009-09-30');
44 shouldBeValid('2009-10-31');
45 shouldBeValid('2009-11-30');
46 shouldBeValid('2009-12-31');
47 shouldBeValid('2008-02-29');
48 shouldBeValid('2000-02-29');
49
50 // Invalid values
51 shouldBeInvalid(' 2009-09-07 ');
52 shouldBeInvalid('a');
53 shouldBeInvalid('-1-09-07');
54 shouldBeInvalid('0000-12-31');
55 shouldBeInvalid('0000-01-01');
56 shouldBeInvalid('275760-09-14');
57 shouldBeInvalid('2147483648-12-31');
58 shouldBeInvalid('2009/09/07');
59 shouldBeInvalid('20090907');
60 shouldBeInvalid('2009--2-07');
61 shouldBeInvalid('2009-00-07');
62 shouldBeInvalid('2009-13-07');
63 shouldBeInvalid('2009-xx-30');
64 shouldBeInvalid('2009-01-32');
65 shouldBeInvalid('2009-02-29');
66 shouldBeInvalid('2009-03-32');
67 shouldBeInvalid('2009-04-31');
68 shouldBeInvalid('2009-05-32');
69 shouldBeInvalid('2009-06-31');
70 shouldBeInvalid('2009-07-32');
71 shouldBeInvalid('2009-08-32');
72 shouldBeInvalid('2009-09-31');
73 shouldBeInvalid('2009-10-32');
74 shouldBeInvalid('2009-11-31');
75 shouldBeInvalid('2009-12-32');
76 shouldBeInvalid('2100-02-29');
77 shouldBeInvalid('2009-09-00');
78 shouldBeInvalid('2009-09-');
79 shouldBeInvalid('2009-09-7');
80 shouldBeInvalid('2009-09-001');
81 shouldBeInvalid('2009-09-xx');
82 shouldBeInvalid('2009-09');
83 shouldBeInvalid('2009');
84
85 // Disabled
86 shouldBeValid('2009-09', true);