зеркало из https://github.com/mozilla/gecko-dev.git
210 строки
8.2 KiB
HTML
210 строки
8.2 KiB
HTML
|
<!DOCTYPE HTML>
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Test for Password Manager</title>
|
||
|
<script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
|
||
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||
|
<script type="text/javascript" src="pwmgr_common.js"></script>
|
||
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||
|
</head>
|
||
|
<body>
|
||
|
Password Manager test: 242956
|
||
|
<p id="display"></p>
|
||
|
<div id="content" style="display: none">
|
||
|
<!-- pword1 is not a type=password input -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="text" name="uname1" value="">
|
||
|
<input type="text" name="pword1" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- uname2 is not a type=text input -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="password" name="uname2" value="">
|
||
|
<input type="password" name="pword2" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- two "pword3" inputs, (text + password) -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="text" name="uname3" value="">
|
||
|
<input type="text" name="pword3" value="">
|
||
|
<input type="password" name="pword3" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- same thing, different order -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="text" name="uname4" value="">
|
||
|
<input type="password" name="pword4" value="">
|
||
|
<input type="text" name="pword4" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- two "uname5" inputs, (text + password) -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="text" name="uname5" value="">
|
||
|
<input type="password" name="uname5" value="">
|
||
|
<input type="password" name="pword5" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- same thing, different order -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="password" name="uname6" value="">
|
||
|
<input type="text" name="uname6" value="">
|
||
|
<input type="password" name="pword6" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- uname7 is not a type=text input (try a checkbox just for variety) -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="checkbox" name="uname7" value="">
|
||
|
<input type="password" name="pword7" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- pword8 is not a type=password input (try a checkbox just for variety) -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="text" name="uname8" value="">
|
||
|
<input type="checkbox" name="pword8" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- pword9 is not a type=password input -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="text" name="uname9" value="testuser9">
|
||
|
<input type="text" name="pword9" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
<!-- uname10 is not a type=text input -->
|
||
|
<form action="formtest.js" method="get">
|
||
|
<input type="password" name="uname10" value="testuser10">
|
||
|
<input type="password" name="pword10" value="">
|
||
|
|
||
|
<button type="submit">Submit</button>
|
||
|
<button type="reset"> Reset </button>
|
||
|
</form>
|
||
|
|
||
|
</div>
|
||
|
<pre id="test">
|
||
|
<script class="testbody" type="text/javascript">
|
||
|
|
||
|
/** Test for Password Manger: 242956 (Stored password is inserted into a readable text input on a second page) **/
|
||
|
|
||
|
// Make sure that pwmgr only puts passwords into type=password <input>s.
|
||
|
// Might as well test the converse, too (username in password field).
|
||
|
|
||
|
function startTest() {
|
||
|
for (var i = 1; i <= 8; i++) {
|
||
|
if (i >= 3 && i <= 6) { continue; } // handle these below.
|
||
|
// Check form i
|
||
|
is($_("uname" + i).value, "", "Checking for unfilled username " + i);
|
||
|
is($_("pword" + i).value, "", "Checking for unfilled password " + i);
|
||
|
}
|
||
|
|
||
|
// Forms 3 and 4 have two password inputs with the same name
|
||
|
var form, input;
|
||
|
|
||
|
form = document.forms[2];
|
||
|
input = form.elements[0];
|
||
|
is(input.type, "text", "confirming user field 3 type");
|
||
|
is(input.name, "uname3", "confirming user field 3 name");
|
||
|
//is(input.value, "testuser3", "checking user field 3 value");
|
||
|
todo(input.value == "testuser3", "ignore bogus <input> and fill testuser3");
|
||
|
input = form.elements[1];
|
||
|
is(input.type, "text", "confirming bogus password field 3 type");
|
||
|
is(input.name, "pword3", "confirming bogus password field 3 name");
|
||
|
is(input.value, "", "checking bogus password field 3 value");
|
||
|
input = form.elements[2];
|
||
|
is(input.type, "password", "confirming legit password field 3 type");
|
||
|
is(input.name, "pword3", "confirming legit password field 3 type");
|
||
|
//is(input.value, "testpass3", "checking legit password field 3 value");
|
||
|
todo(input.value == "testpass3", "ignore bogus <input> and fill testpass3");
|
||
|
|
||
|
form = document.forms[3];
|
||
|
input = form.elements[0];
|
||
|
is(input.type, "text", "confirming user field 4 type");
|
||
|
is(input.name, "uname4", "confirming user field 4 name");
|
||
|
//is(input.value, "testuser4", "checking user field 4 value");
|
||
|
todo(input.value == "testuser4", "ignore bogus <input> and fill testuser4");
|
||
|
input = form.elements[1];
|
||
|
is(input.type, "password", "confirming legit password field 4 type");
|
||
|
is(input.name, "pword4", "confirming legit password field 4 type");
|
||
|
//is(input.value, "testpass4", "checking legit password field 4 value");
|
||
|
todo(input.value == "testpass4", "ignore bogus <input> and fill testpass4");
|
||
|
input = form.elements[2];
|
||
|
is(input.type, "text", "confirming bogus password field 4 type");
|
||
|
is(input.name, "pword4", "confirming bogus password field 4 name");
|
||
|
is(input.value, "", "checking bogus password field 4 value");
|
||
|
|
||
|
// Forms 5 and 6 have two username inputs with the same name
|
||
|
form = document.forms[4];
|
||
|
input = form.elements[0];
|
||
|
is(input.type, "text", "confirming legit user field 5 type");
|
||
|
is(input.name, "uname5", "confirming legit user field 5 name");
|
||
|
//is(input.value, "testuser5", "checking legit user field 5 value");
|
||
|
todo(input.value == "testuser5", "ignore bogus <input> and fill testuser5");
|
||
|
input = form.elements[1];
|
||
|
is(input.type, "password", "confirming bogus user field 5 type");
|
||
|
is(input.name, "uname5", "confirming bogus user field 5 name");
|
||
|
is(input.value, "", "checking bogus user field 5 value");
|
||
|
input = form.elements[2];
|
||
|
is(input.type, "password", "confirming password field 5 ");
|
||
|
is(input.name, "pword5", "confirming password field 5 ");
|
||
|
//is(input.value, "testpass5", "checking password field 5 value");
|
||
|
todo(input.value == "testpass5", "ignore bogus <input> and fill testpass5");
|
||
|
|
||
|
form = document.forms[5];
|
||
|
input = form.elements[0];
|
||
|
is(input.type, "password", "confirming bogus user field 6 type");
|
||
|
is(input.name, "uname6", "confirming bogus user field 6 name");
|
||
|
is(input.value, "", "checking bogus user field 6 value");
|
||
|
input = form.elements[1];
|
||
|
is(input.type, "text", "confirming legit user field 6 type");
|
||
|
is(input.name, "uname6", "confirming legit user field 6 name");
|
||
|
//is(input.value, "testuser6", "checking legit user field 6 value");
|
||
|
todo(input.value == "testuser6", "ignore bogus <input> and fill testuser6");
|
||
|
input = form.elements[2];
|
||
|
is(input.type, "password", "confirming password field 6 type");
|
||
|
is(input.name, "pword6", "confirming password field 6 name");
|
||
|
//is(input.value, "testpass6", "");
|
||
|
todo(input.value == "testpass6", "ignore bogus <input> and fill testpass6");
|
||
|
|
||
|
is($_("uname9").value, "testuser9", "Checking for unmodified username 9");
|
||
|
is($_("pword9").value, "", "Checking for unfilled password 9");
|
||
|
|
||
|
is($_("uname10").value, "testuser10", "Checking for unmodified username 10");
|
||
|
is($_("pword10").value, "", "Checking for unfilled password 10");
|
||
|
|
||
|
SimpleTest.finish();
|
||
|
}
|
||
|
|
||
|
window.onload = startTest;
|
||
|
|
||
|
SimpleTest.waitForExplicitFinish();
|
||
|
|
||
|
</script>
|
||
|
</pre>
|
||
|
</body>
|
||
|
</html>
|