<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script>
var successfullyParsed = false;
if (window.testRunner)
   testRunner.dumpAsText();
</script>
</head>
<body>

<input type="password" id="pass" value="asdfasdf">


<p id="description"></p>
<div id="console"></div>

<script>

    description("This test that a password field returns a string of equal length to the password, but not the actual password");

    if (window.accessibilityController) {

        var password = "Hello World";
        document.getElementById("pass").focus();
        document.getElementById("pass").value = password;
        var pass = accessibilityController.focusedElement;

        var axValue = "AXValue: ";
        shouldBe("pass.stringValue.length", "password.length + axValue.length");
        shouldBeFalse("pass.stringValue == password");
    }

    successfullyParsed = true;
</script>

<script src="../../resources/js-test-post.js"></script>

</body>
</html>

