зеркало из https://github.com/mozilla/gecko-dev.git
58 строки
1.6 KiB
JavaScript
58 строки
1.6 KiB
JavaScript
/**
|
|
* Test LoginHelper.doLoginsMatch
|
|
*/
|
|
|
|
add_task(function test_formActionOrigin_ignoreSchemes() {
|
|
let httpActionLogin = TestData.formLogin();
|
|
let httpsActionLogin = TestData.formLogin({
|
|
formActionOrigin: "https://www.example.com",
|
|
});
|
|
let jsActionLogin = TestData.formLogin({
|
|
formActionOrigin: "javascript:",
|
|
});
|
|
let emptyActionLogin = TestData.formLogin({
|
|
formActionOrigin: "",
|
|
});
|
|
|
|
Assert.notEqual(
|
|
httpActionLogin.formActionOrigin,
|
|
httpsActionLogin.formActionOrigin,
|
|
"Ensure actions differ"
|
|
);
|
|
|
|
const TEST_CASES = [
|
|
[httpActionLogin, httpActionLogin, true],
|
|
[httpsActionLogin, httpsActionLogin, true],
|
|
[jsActionLogin, jsActionLogin, true],
|
|
[emptyActionLogin, emptyActionLogin, true],
|
|
// only differing by scheme:
|
|
[httpsActionLogin, httpActionLogin, true],
|
|
[httpActionLogin, httpsActionLogin, true],
|
|
|
|
// empty matches everything
|
|
[httpsActionLogin, emptyActionLogin, true],
|
|
[emptyActionLogin, httpsActionLogin, true],
|
|
[jsActionLogin, emptyActionLogin, true],
|
|
[emptyActionLogin, jsActionLogin, true],
|
|
|
|
// Begin false cases:
|
|
[httpsActionLogin, jsActionLogin, false],
|
|
[jsActionLogin, httpsActionLogin, false],
|
|
[httpActionLogin, jsActionLogin, false],
|
|
[jsActionLogin, httpActionLogin, false],
|
|
];
|
|
|
|
for (let [login1, login2, expected] of TEST_CASES) {
|
|
Assert.strictEqual(
|
|
LoginHelper.doLoginsMatch(login1, login2, {
|
|
ignorePassword: false,
|
|
ignoreSchemes: true,
|
|
}),
|
|
expected,
|
|
`LoginHelper.doLoginsMatch:
|
|
\t${JSON.stringify(login1)}
|
|
\t${JSON.stringify(login2)}`
|
|
);
|
|
}
|
|
});
|