tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_bug605125-1.html (2714B)


      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>
     21 
     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">
     37 
     38 /** Test for Bug 605125 */
     39 
     40 /**
     41 * NOTE: this test is very similar to 605124-1.html.
     42 */
     43 
     44 function checkPseudoClass(aElement, aExpected)
     45 {
     46  is(aElement.matches(":-moz-ui-valid"), aExpected,
     47     "matches(':-moz-ui-valid') should return " + aExpected + " for " + aElement);
     48 }
     49 
     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];
     56 
     57 checkPseudoClass(textarea, false);
     58 checkPseudoClass(input, false);
     59 checkPseudoClass(select, false);
     60 
     61 // Try to submit.
     62 button.click();
     63 checkPseudoClass(textarea, true);
     64 checkPseudoClass(input, true);
     65 checkPseudoClass(select, true);
     66 
     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);
     74 
     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);
     82 
     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];
     89 
     90 // Try to submit.
     91 button.click();
     92 checkPseudoClass(textarea, true);
     93 checkPseudoClass(input, true);
     94 checkPseudoClass(select, true);
     95 
     96 // Remove the form.
     97 document.getElementsByTagName('table')[0].removeChild(form);
     98 checkPseudoClass(textarea, true);
     99 checkPseudoClass(input, true);
    100 checkPseudoClass(select, true);
    101 
    102 </script>
    103 </pre>
    104 </body>
    105 </html>