tor-browser

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

test_passwords.html (2653B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4  <title>nsIAccessibleText getText related function tests for text and password inputs</title>
      5  <link rel="stylesheet" type="text/css"
      6        href="chrome://mochikit/content/tests/SimpleTest/test.css" />
      7 
      8  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
      9  <script type="application/javascript"
     10          src="../common.js"></script>
     11  <script type="application/javascript"
     12          src="../text.js"></script>
     13 
     14  <script type="application/javascript">
     15    function doTest() {
     16      // ////////////////////////////////////////////////////////////////////////
     17      // regular text and password inputs
     18      // ////////////////////////////////////////////////////////////////////////
     19 
     20      // //////////////////////////////////////////////////////////////////////
     21      // characterCount and getText for regular text field
     22 
     23      var IDs = [ "username" ];
     24      testCharacterCount(IDs, 4);
     25      testText(IDs, 0, 4, "test");
     26 
     27      // //////////////////////////////////////////////////////////////////////
     28      // characterCount and getText for password field
     29 
     30      IDs = [ "password" ];
     31      testCharacterCount(IDs, 4);
     32      let password = document.getElementById("password");
     33      let editor = SpecialPowers.wrap(password).editor;
     34      let passwordMask = editor.passwordMask;
     35      testText(IDs, 0, 4, `${passwordMask}${passwordMask}${passwordMask}${passwordMask}`);
     36      // a11y data is updated at next tick so that we need to refresh here.
     37      editor.unmask(0, 2);
     38      SpecialPowers.DOMWindowUtils.advanceTimeAndRefresh(0);
     39      testText(IDs, 0, 4, `te${passwordMask}${passwordMask}`);
     40      editor.unmask(2, 4);
     41      SpecialPowers.DOMWindowUtils.advanceTimeAndRefresh(0);
     42      testText(IDs, 0, 4, `${passwordMask}${passwordMask}st`);
     43      editor.unmask(0, 4);
     44      SpecialPowers.DOMWindowUtils.advanceTimeAndRefresh(0);
     45      testText(IDs, 0, 4, `test`);
     46      SpecialPowers.DOMWindowUtils.restoreNormalRefresh();
     47 
     48      SimpleTest.finish();
     49    }
     50 
     51    SimpleTest.waitForExplicitFinish();
     52    addA11yLoadEvent(doTest);
     53  </script>
     54 </head>
     55 <body>
     56 
     57  <a target="_blank"
     58     title="mochitest for getText for password fields"
     59     href="https://bugzilla.mozilla.org/show_bug.cgi?id=415943">Mozilla Bug 415943</a>
     60  <p id="display"></p>
     61  <div id="content" style="display: none"></div>
     62  <pre id="test">
     63  </pre>
     64 
     65  <form action="post.php" method="post">
     66    <label for="username">User name:</label>
     67    <input id="username" value="test"><br />
     68    <label for="password">Password:</label>
     69    <input type="password" id="password" value="test"/>
     70  </form>
     71 </body>
     72 </html>