Bug 1874684 - Part 17: Fix uninitialised variable warnings from clang-tidy. r=allstarschh
[gecko.git] / editor / libeditor / tests / test_password_paste.html
blob817de9b277d3548a6f85f412750cba40e5dd0d1b
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test for masking password</title>
5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
6 <script src="/tests/SimpleTest/WindowSnapshot.js"></script>
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
8 </head>
9 <body>
10 <p id="display"></p>
11 <div id="content" style="display: none;">
13 </div>
15 <input type="password" id="input1" value="abcdef">
17 <pre id="test">
18 <script class="testbody" type="application/javascript">
19 function getEditor() {
20 return SpecialPowers.wrap(document.getElementById("input1")).editor;
23 function getLoadContext() {
24 return SpecialPowers.wrap(window).docShell.QueryInterface(
25 SpecialPowers.Ci.nsILoadContext);
28 function pasteText(str) {
29 const Cc = SpecialPowers.Cc;
30 const Ci = SpecialPowers.Ci;
31 let trans = Cc["@mozilla.org/widget/transferable;1"].
32 createInstance(Ci.nsITransferable);
33 trans.init(getLoadContext());
34 let s = Cc["@mozilla.org/supports-string;1"].
35 createInstance(Ci.nsISupportsString);
36 s.data = str;
37 trans.setTransferData("text/plain", s);
38 let inputEvent = null;
39 window.addEventListener("input", aEvent => { inputEvent = aEvent; }, {once: true});
40 getEditor().pasteTransferable(trans);
41 is(inputEvent.type, "input", "input event should be fired");
42 is(inputEvent.inputType, "insertFromPaste", "inputType should be insertFromPaste");
43 is(inputEvent.data, str, `data should be "${str}"`);
44 is(inputEvent.dataTransfer, null, "dataTransfer should be null on password field");
47 SimpleTest.waitForFocus(async () => {
48 let input1 = document.getElementById("input1");
49 input1.focus();
50 let reference = snapshotWindow(window, false);
52 // Bug 1501376 - Password should be masked immediately when pasting text
53 input1.value = "";
54 pasteText("abcdef");
55 assertSnapshots(reference, snapshotWindow(window), true, null,
56 "Password should be masked immediately when pasting text",
57 "reference is masked");
58 SimpleTest.finish();
59 });
61 SimpleTest.waitForExplicitFinish();
62 </script>
63 </pre>
64 </body>
65 </html>