28 lines
633 B
JavaScript
28 lines
633 B
JavaScript
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;
|
|
}
|
|
}
|
|
|
|
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"
|
|
);
|
|
}
|