Files
UXP-Fixed/toolkit/components/passwordmgr/test/browser/browser_http_autofill.js
T
2018-02-02 04:16:08 -05:00

79 lines
3.0 KiB
JavaScript

const TEST_URL_PATH = "://example.org/browser/toolkit/components/passwordmgr/test/browser/";
add_task(function* setup() {
let login = LoginTestUtils.testData.formLogin({
hostname: "http://example.org",
formSubmitURL: "http://example.org",
username: "username",
password: "password",
});
Services.logins.addLogin(login);
login = LoginTestUtils.testData.formLogin({
hostname: "http://example.org",
formSubmitURL: "http://another.domain",
username: "username",
password: "password",
});
Services.logins.addLogin(login);
yield SpecialPowers.pushPrefEnv({ "set": [["signon.autofillForms.http", false]] });
});
add_task(function* test_http_autofill() {
for (let scheme of ["http", "https"]) {
let tab = yield BrowserTestUtils
.openNewForegroundTab(gBrowser, `${scheme}${TEST_URL_PATH}form_basic.html`);
let [username, password] = yield ContentTask.spawn(gBrowser.selectedBrowser, null, function* () {
let doc = content.document;
let contentUsername = doc.getElementById("form-basic-username").value;
let contentPassword = doc.getElementById("form-basic-password").value;
return [contentUsername, contentPassword];
});
is(username, scheme == "http" ? "" : "username", "Username filled correctly");
is(password, scheme == "http" ? "" : "password", "Password filled correctly");
gBrowser.removeTab(tab);
}
});
add_task(function* test_iframe_in_http_autofill() {
for (let scheme of ["http", "https"]) {
let tab = yield BrowserTestUtils
.openNewForegroundTab(gBrowser, `${scheme}${TEST_URL_PATH}form_basic_iframe.html`);
let [username, password] = yield ContentTask.spawn(gBrowser.selectedBrowser, null, function* () {
let doc = content.document;
let iframe = doc.getElementById("test-iframe");
let contentUsername = iframe.contentWindow.document.getElementById("form-basic-username").value;
let contentPassword = iframe.contentWindow.document.getElementById("form-basic-password").value;
return [contentUsername, contentPassword];
});
is(username, scheme == "http" ? "" : "username", "Username filled correctly");
is(password, scheme == "http" ? "" : "password", "Password filled correctly");
gBrowser.removeTab(tab);
}
});
add_task(function* test_http_action_autofill() {
for (let type of ["insecure", "secure"]) {
let tab = yield BrowserTestUtils
.openNewForegroundTab(gBrowser, `https${TEST_URL_PATH}form_cross_origin_${type}_action.html`);
let [username, password] = yield ContentTask.spawn(gBrowser.selectedBrowser, null, function* () {
let doc = content.document;
let contentUsername = doc.getElementById("form-basic-username").value;
let contentPassword = doc.getElementById("form-basic-password").value;
return [contentUsername, contentPassword];
});
is(username, type == "insecure" ? "" : "username", "Username filled correctly");
is(password, type == "insecure" ? "" : "password", "Password filled correctly");
gBrowser.removeTab(tab);
}
});