gecko-dev/caps/tests/unit/test_ipv6_host_literal.js
Christoph Kerschbaumer 8e374dc349 Bug 1141959: Test nsIPrincipal.origin treats IPv6 host correctly.r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D66056

--HG--
extra : moz-landing-system : lando
2020-03-13 16:00:39 +00:00

40 lines
1021 B
JavaScript

const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
var ssm = Services.scriptSecurityManager;
function makeURI(uri) {
return Services.io.newURI(uri);
}
function testIPV6Host(aHost, aExpected) {
var ipv6Host = ssm.createContentPrincipal(makeURI(aHost), {});
Assert.equal(ipv6Host.origin, aExpected);
}
function run_test() {
testIPV6Host("http://[::1]/", "http://[::1]");
testIPV6Host(
"http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/",
"http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]"
);
testIPV6Host(
"http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443/",
"http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443"
);
testIPV6Host(
"http://[2001:db8:85a3::1319:8a2e:370:7348]/",
"http://[2001:db8:85a3:0:1319:8a2e:370:7348]"
);
testIPV6Host(
"http://[20D1:0000:3238:DFE1:63:0000:0000:FEFB]/",
"http://[20d1:0:3238:dfe1:63::fefb]"
);
testIPV6Host(
"http://[20D1:0:3238:DFE1:63::FEFB]/",
"http://[20d1:0:3238:dfe1:63::fefb]"
);
}