Bug 1353429: Test Principal URI escaping.r=valentin

Differential Revision: https://phabricator.services.mozilla.com/D66997

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Christoph Kerschbaumer 2020-03-17 07:12:08 +00:00
parent 124efc1c6a
commit f03e90da15
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,39 @@
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
var ssm = Services.scriptSecurityManager;
function makeURI(uri) {
return Services.io.newURI(uri);
}
function createPrincipal(aURI) {
try {
var uri = makeURI(aURI);
var principal = ssm.createContentPrincipal(uri, {});
return principal;
} catch(e) {
return null;
}
return null;
}
function run_test() {
Assert.equal(
createPrincipal("http://test^test/foo^bar#x^y"),
null
);
Assert.equal(
createPrincipal("http://test^test/foo\\bar"),
null
);
Assert.equal(
createPrincipal("http://test:2^3/foo\\bar"),
null
);
Assert.equal(
createPrincipal("http://test/foo^bar").exposableSpec,
"http://test/foo%5Ebar"
);
}

View File

@ -2,4 +2,5 @@
head =
[test_origin.js]
[test_uri_escaping.js]
[test_ipv6_host_literal.js]