3 <script src=
"../../../resources/js-test.js"></script>
4 <script src=
"../resources/common-pseudo-classes.js"></script>
7 <input type=
"month" value=
"1982-11" id=
"enabled">
8 <input type=
"month" value=
"1982-11" id=
"disabled" disabled
>
9 <input type=
"month" value=
"1982-11" min=
"1982-10" step=
"2" id=
"invalid">
10 <input type=
"month" value=
"1982-11" min=
"1982-01" max=
"1982-12" id=
"inrange">
11 <input type=
"month" value=
"ABC" min=
"1982-01" max=
"1982-12" id=
"badvalue">
12 <input type=
"month" value=
"1982-11" min=
"1981-01" max=
"1981-12" id=
"outofrange">
13 <input type=
"month" value=
"1982-11" readonly
id=
"readonly">
14 <input type=
"month" value=
"1982-11" required
id=
"required">
18 description('Test if an input field matches to various pseudo classes');
19 var container
= document
.getElementById('container');
20 shouldBeTrue('matchedNodesContainId(container, ":enabled", "enabled")');
21 shouldBeTrue('matchedNodesContainId(container, ":valid", "enabled")');
22 shouldBeTrue('matchedNodesContainId(container, ":optional", "enabled")');
23 shouldBeTrue('matchedNodesContainId(container, ":read-write", "enabled")');
24 shouldBeTrue('matchedNodesContainId(container, ":disabled", "disabled")');
25 shouldBeTrue('matchedNodesContainId(container, ":invalid", "invalid")');
26 shouldBeTrue('matchedNodesContainId(container, ":in-range", "inrange")');
27 shouldBeTrue('matchedNodesContainId(container, ":in-range", "badvalue")');
28 shouldBeTrue('matchedNodesContainId(container, ":out-of-range", "outofrange")');
29 shouldBeTrue('matchedNodesContainId(container, ":read-only", "readonly")');
30 shouldBeTrue('matchedNodesContainId(container, ":required", "required")');
31 // Make the id=outofrange element in-range state.
32 document
.getElementById('outofrange').value
= '1981-11';
33 shouldBeFalse('matchedNodesContainId(container, ":out-of-range", "outofrange")');
34 shouldBeTrue('matchedNodesContainId(container, ":in-range", "outofrange")');
35 // Make the id=inrange element out-of-range state.
36 document
.getElementById('inrange').value
= '1983-01';
37 shouldBeFalse('matchedNodesContainId(container, ":in-range", "inrange")');
38 shouldBeTrue('matchedNodesContainId(container, ":out-of-range", "inrange")');