gecko-dev/toolkit/components/passwordmgr/test/test_basic_form_html5.html

172 строки
5.3 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<title>Test for Login Manager</title>
<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>
Login Manager test: html5 input types (email, tel, url, etc.)
<script>
commonInit();
SimpleTest.waitForExplicitFinish();
const Ci = SpecialPowers.Ci;
const Cc = SpecialPowers.Cc;
pwmgr = Cc["@mozilla.org/login-manager;1"].
getService(Ci.nsILoginManager);
login1 = Cc["@mozilla.org/login-manager/loginInfo;1"].
createInstance(Ci.nsILoginInfo);
login2 = Cc["@mozilla.org/login-manager/loginInfo;1"].
createInstance(Ci.nsILoginInfo);
login3 = Cc["@mozilla.org/login-manager/loginInfo;1"].
createInstance(Ci.nsILoginInfo);
login4 = Cc["@mozilla.org/login-manager/loginInfo;1"].
createInstance(Ci.nsILoginInfo);
login1.init("http://mochi.test:8888", "http://bug600551-1", null,
"testuser@example.com", "testpass1", "", "");
login2.init("http://mochi.test:8888", "http://bug600551-2", null,
"555-555-5555", "testpass2", "", "");
login3.init("http://mochi.test:8888", "http://bug600551-3", null,
"http://mozilla.org", "testpass3", "", "");
login4.init("http://mochi.test:8888", "http://bug600551-4", null,
"123456789", "testpass4", "", "");
pwmgr.addLogin(login1);
pwmgr.addLogin(login2);
pwmgr.addLogin(login3);
pwmgr.addLogin(login4);
</script>
<p id="display"></p>
<div id="content" style="display: none">
<form id="form1" action="http://bug600551-1">
<input type="email" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form2" action="http://bug600551-2">
<input type="tel" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form3" action="http://bug600551-3">
<input type="url" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form4" action="http://bug600551-4">
<input type="number" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<!-- The following forms should not be filled with usernames -->
<form id="form5" action="formtest.js">
<input type="search" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form6" action="formtest.js">
<input type="datetime" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form7" action="formtest.js">
<input type="date" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form8" action="formtest.js">
<input type="month" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form9" action="formtest.js">
<input type="week" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form10" action="formtest.js">
<input type="time" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form11" action="formtest.js">
<input type="datetime-local" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form12" action="formtest.js">
<input type="range" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
<form id="form13" action="formtest.js">
<input type="color" name="uname">
<input type="password" name="pword">
<button type="submit">Submit</button>
</form>
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
/* Test for Login Manager: 600551
(Password manager not working with input type=email)
*/
function startTest() {
checkForm(1, "testuser@example.com", "testpass1");
checkForm(2, "555-555-5555", "testpass2");
checkForm(3, "http://mozilla.org", "testpass3");
checkForm(4, "123456789", "testpass4");
is($_(5, "uname").value, "", "type=search should not be considered a username");
is($_(6, "uname").value, "", "type=datetime should not be considered a username");
is($_(7, "uname").value, "", "type=date should not be considered a username");
is($_(8, "uname").value, "", "type=month should not be considered a username");
is($_(9, "uname").value, "", "type=week should not be considered a username");
is($_(10, "uname").value, "", "type=time should not be considered a username");
is($_(11, "uname").value, "", "type=datetime-local should not be considered a username");
is($_(12, "uname").value, "50", "type=range should not be considered a username");
is($_(13, "uname").value, "#000000", "type=color should not be considered a username");
pwmgr.removeLogin(login1);
pwmgr.removeLogin(login2);
pwmgr.removeLogin(login3);
pwmgr.removeLogin(login4);
SimpleTest.finish();
}
window.onload = startTest;
</script>
</pre>
</body>
</html>