4 https://bugzilla.mozilla.org/show_bug.cgi?id=605125
7 <title>Test for Bug
605125</title>
8 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css"/>
12 <a target=
"_blank" href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=605125">Mozilla Bug
605125</a>
18 <button type='submit'
></button>
27 <button type='submit'
></button>
32 <input form='f1' required
>
33 <input form='f2' required
>
36 <script type=
"application/javascript">
38 /** Test for Bug
605125 **/
41 * NOTE: this test is very similar to
605124-
1.html.
44 function checkPseudoClass(aElement, aExpected)
46 is(aElement.matches(
":-moz-ui-valid"), aExpected,
47 "matches(':-moz-ui-valid') should return " + aExpected +
" for " + aElement);
50 var content = document.getElementById('content');
51 var textarea = document.getElementsByTagName('textarea')[
0];
52 var input = document.getElementsByTagName('input')[
0];
53 var button = document.getElementsByTagName('button')[
0];
54 var select = document.getElementsByTagName('select')[
0];
55 var form = document.forms[
0];
57 checkPseudoClass(textarea, false);
58 checkPseudoClass(input, false);
59 checkPseudoClass(select, false);
63 checkPseudoClass(textarea, true);
64 checkPseudoClass(input, true);
65 checkPseudoClass(select, true);
67 // No longer in the form.
68 content.appendChild(textarea);
69 content.appendChild(input);
70 content.appendChild(select);
71 checkPseudoClass(textarea, true);
72 checkPseudoClass(input, true);
73 checkPseudoClass(select, true);
76 form.appendChild(textarea);
77 form.appendChild(input);
78 form.appendChild(select);
79 checkPseudoClass(textarea, true);
80 checkPseudoClass(input, true);
81 checkPseudoClass(select, true);
83 /* Case when elements get orphaned. */
84 var textarea = document.getElementsByTagName('textarea')[
1];
85 var input = document.getElementsByTagName('input')[
1];
86 var button = document.getElementsByTagName('button')[
1];
87 var select = document.getElementsByTagName('select')[
1];
88 var form = document.forms[
1];
92 checkPseudoClass(textarea, true);
93 checkPseudoClass(input, true);
94 checkPseudoClass(select, true);
97 document.getElementsByTagName('table')[
0].removeChild(form);
98 checkPseudoClass(textarea, true);
99 checkPseudoClass(input, true);
100 checkPseudoClass(select, true);