Bug 1880216 - Migrate Fenix docs into Sphinx. r=owlish,geckoview-reviewers,android...
[gecko.git] / dom / html / test / test_bug605125-1.html
blob8b49b9bbc1f1ab597b1ff6f555aebb2ec19684e9
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=605125
5 -->
6 <head>
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"/>
10 </head>
11 <body>
12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=605125">Mozilla Bug 605125</a>
13 <p id="display"></p>
14 <div id="content">
15 <form id='f1'>
16 <textarea></textarea>
17 <input>
18 <button type='submit'></button>
19 <select></select>
20 </form>
22 <table>
23 <form id='f2'>
24 <tr>
25 <textarea></textarea>
26 <input>
27 <button type='submit'></button>
28 <select></select>
29 </tr>
30 </form>
31 </table>
32 <input form='f1' required>
33 <input form='f2' required>
34 </div>
35 <pre id="test">
36 <script type="application/javascript">
38 /** Test for Bug 605125 **/
40 /**
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);
61 // Try to submit.
62 button.click();
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);
75 // Back in the form.
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];
90 // Try to submit.
91 button.click();
92 checkPseudoClass(textarea, true);
93 checkPseudoClass(input, true);
94 checkPseudoClass(select, true);
96 // Remove the form.
97 document.getElementsByTagName('table')[0].removeChild(form);
98 checkPseudoClass(textarea, true);
99 checkPseudoClass(input, true);
100 checkPseudoClass(select, true);
102 </script>
103 </pre>
104 </body>
105 </html>