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

41 lines
2.0 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));
}
});