summaryrefslogtreecommitdiffstats
path: root/dom/html/test/forms/test_input_hasBeenTypePassword.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/html/test/forms/test_input_hasBeenTypePassword.html')
-rw-r--r--dom/html/test/forms/test_input_hasBeenTypePassword.html67
1 files changed, 67 insertions, 0 deletions
diff --git a/dom/html/test/forms/test_input_hasBeenTypePassword.html b/dom/html/test/forms/test_input_hasBeenTypePassword.html
new file mode 100644
index 0000000000..ac577ae3a9
--- /dev/null
+++ b/dom/html/test/forms/test_input_hasBeenTypePassword.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1330228
+-->
+<head>
+ <title>Test input.hasBeenTypePassword</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1330228">Mozilla Bug 1330228</a>
+<script type="application/javascript">
+
+/** Test input.hasBeenTypePassword **/
+
+var gInputTestData = [
+/* type result */
+ ["tel", false],
+ ["text", false],
+ ["button", false],
+ ["checkbox", false],
+ ["file", false],
+ ["hidden", false],
+ ["reset", false],
+ ["image", false],
+ ["radio", false],
+ ["submit", false],
+ ["search", false],
+ ["email", false],
+ ["url", false],
+ ["number", false],
+ ["range", false],
+ ["date", false],
+ ["time", false],
+ ["color", false],
+ ["month", false],
+ ["week", false],
+ ["datetime-local", false],
+ ["", false],
+ // "password" must be last since we re-use the same <input>.
+ ["password", true],
+];
+
+function checkHasBeenTypePasswordValue(aInput, aResult) {
+ is(aInput.hasBeenTypePassword, aResult,
+ "hasBeenTypePassword should return " + aResult + " for " +
+ aInput.getAttribute("type"));
+}
+
+// Use SpecialPowers since the API is ChromeOnly.
+var input = SpecialPowers.wrap(document.createElement("input"));
+// Check if the method returns the correct value on the first pass.
+for (let [type, expected] of gInputTestData) {
+ input.type = type;
+ checkHasBeenTypePasswordValue(input, expected);
+}
+
+// Now do a second pass but expect `hasBeenTypePassword` to always be true now
+// that the type was 'password'.
+for (let [type] of gInputTestData) {
+ input.type = type;
+ checkHasBeenTypePasswordValue(input, true);
+}
+</script>
+</body>
+</html>