1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/*
* 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));
}
});
|