JS Test Harness: Insert the stylesheet dynamically
[WebKit-https.git] / LayoutTests / fast / forms / month / ValidityState-stepMismatch-month.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="../../js/resources/js-test-pre.js"></script>
5 </head>
6 <body>
7 <p id="description"></p>
8 <div id="console"></div>
9 <script>
10 description('Check stepMismatch results for type=month.');
11
12 var input = document.createElement('input');
13 document.body.appendChild(input);
14
15 function stepMismatchFor(value, step, min, disabled) {
16     input.min = min;
17     input.step = step;
18     input.value = value;
19     input.disabled = !!disabled;
20     return input.validity.stepMismatch;
21 }
22
23 input.type = 'month';
24 debug('Empty values');
25 shouldBeFalse('stepMismatchFor("", null, null)');
26 shouldBeFalse('stepMismatchFor("", "2", "1969-12")');
27 debug('Normal step values');
28 shouldBeTrue('stepMismatchFor("2010-03", "2", "2010-02")');
29 shouldBeFalse('stepMismatchFor("2010-02", "2", "2010-02")');
30 shouldBeFalse('stepMismatchFor("2010-04", "2", "2010-02")');
31 shouldBeTrue('stepMismatchFor("1800-11", "3", "1800-09")');
32 shouldBeFalse('stepMismatchFor("1800-09", "3", "1800-09")');
33 shouldBeFalse('stepMismatchFor("1800-12", "3", "1800-09")');
34 shouldBeTrue('stepMismatchFor("275760-09", "3", "275760-08")');
35 shouldBeFalse('stepMismatchFor("275760-09", "2", "275760-09")');
36 debug('Implicit step base');
37 shouldBeTrue('stepMismatchFor("1970-02", "2", null)');
38 shouldBeFalse('stepMismatchFor("1970-03", "2", null)');
39 debug('Fractional step values');
40 shouldBeFalse('stepMismatchFor("2010-03", "0.1", "2010-02")');
41 shouldBeFalse('stepMismatchFor("2010-03", "1.1", "2010-02")');
42 shouldBeTrue('stepMismatchFor("2010-03", "1.9", "2010-02")');
43 debug('Invalid or no step values');
44 shouldBeFalse('stepMismatchFor("2010-03", null, "2010-02")');
45 shouldBeFalse('stepMismatchFor("2010-03", "-1", "2010-02")');
46 shouldBeFalse('stepMismatchFor("2010-03", "foo", "2010-02")');
47 debug('Special step value');
48 shouldBeFalse('stepMismatchFor("2010-03", "any", "2010-02")');
49 debug('Disabled');
50 shouldBeFalse('stepMismatchFor("2010-03", "2", "2010-02", true)');
51
52 debug('');
53 var successfullyParsed = true;
54 </script>
55 <script src="../../js/resources/js-test-post.js"></script>
56 </body>
57 </html>