gecko-dev/toolkit/components/passwordmgr/test/unit/test_isOriginMatching.js
Matthew Noorenberghe d8f66a2592 Bug 667233 - Support scheme upgrades for searching logins. r=dolske
MozReview-Commit-ID: GAw0HIBgOFw
2016-05-29 17:15:52 -07:00

40 lines
2 KiB
JavaScript

/*
* Test LoginHelper.isOriginMatching
*/
"use strict";
Cu.import("resource://gre/modules/LoginHelper.jsm");
add_task(function test_isOriginMatching() {
let testcases = [
// Index 0 holds the expected return value followed by arguments to isOriginMatching.
[true, "http://example.com", "http://example.com"],
[true, "http://example.com:8080", "http://example.com:8080"],
[true, "https://example.com", "https://example.com"],
[true, "https://example.com:8443", "https://example.com:8443"],
[false, "http://example.com", "http://mozilla.org"],
[false, "http://example.com", "http://example.com:8080"],
[false, "https://example.com", "http://example.com"],
[false, "https://example.com", "https://mozilla.org"],
[false, "http://example.com", "http://sub.example.com"],
[false, "https://example.com", "https://sub.example.com"],
[false, "http://example.com", "https://example.com:8443"],
[false, "http://example.com:8080", "http://example.com:8081"],
[false, "http://example.com", ""],
[false, "", "http://example.com"],
[true, "http://example.com", "https://example.com", { schemeUpgrades: true }],
[true, "https://example.com", "https://example.com", { schemeUpgrades: true }],
[true, "http://example.com:8080", "http://example.com:8080", { schemeUpgrades: true }],
[true, "https://example.com:8443", "https://example.com:8443", { schemeUpgrades: true }],
[false, "https://example.com", "http://example.com", { schemeUpgrades: true }], // downgrade
[false, "http://example.com:8080", "https://example.com", { schemeUpgrades: true }], // port mismatch
[false, "http://example.com", "https://example.com:8443", { schemeUpgrades: true }], // port mismatch
[false, "http://sub.example.com", "http://example.com", { schemeUpgrades: true }],
];
for (let tc of testcases) {
let expected = tc.shift();
Assert.strictEqual(LoginHelper.isOriginMatching(...tc), expected,
"Check " + JSON.stringify(tc));
}
});