Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html>
<!--
-->
<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>
<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>