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

29 lines
1.1 KiB
JavaScript

/*
* Test for LoginUtils._getPasswordOrigin
*/
"use strict";
const LMCBackstagePass = Cu.import("resource://gre/modules/LoginManagerContent.jsm");
const TESTCASES = [
["javascript:void(0);", null],
["javascript:void(0);", "javascript:", true],
["chrome://MyAccount", null],
["data:text/html,example", null],
["http://username:password@example.com:80/foo?bar=baz#fragment", "http://example.com", true],
["http://127.0.0.1:80/foo", "http://127.0.0.1"],
["http://[::1]:80/foo", "http://[::1]"],
["http://example.com:8080/foo", "http://example.com:8080"],
["http://127.0.0.1:8080/foo", "http://127.0.0.1:8080", true],
["http://[::1]:8080/foo", "http://[::1]:8080"],
["https://example.com:443/foo", "https://example.com"],
["https://[::1]:443/foo", "https://[::1]"],
["https://[::1]:8443/foo", "https://[::1]:8443"],
["ftp://username:password@[::1]:2121/foo", "ftp://[::1]:2121"],
];
for (let [input, expected, allowJS] of TESTCASES) {
let actual = LMCBackstagePass.LoginUtils._getPasswordOrigin(input, allowJS);
Assert.strictEqual(actual, expected, "Checking: " + input);
}