tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_uri_escaping.js (633B)


      1 var ssm = Services.scriptSecurityManager;
      2 
      3 function makeURI(uri) {
      4  return Services.io.newURI(uri);
      5 }
      6 
      7 function createPrincipal(aURI) {
      8  try {
      9    var uri = makeURI(aURI);
     10    var principal = ssm.createContentPrincipal(uri, {});
     11    return principal;
     12  } catch (e) {
     13    return null;
     14  }
     15 }
     16 
     17 function run_test() {
     18  Assert.equal(createPrincipal("http://test^test/foo^bar#x^y"), null);
     19 
     20  Assert.equal(createPrincipal("http://test^test/foo\\bar"), null);
     21 
     22  Assert.equal(createPrincipal("http://test:2^3/foo\\bar"), null);
     23 
     24  Assert.equal(
     25    createPrincipal("http://test/foo^bar").exposableSpec,
     26    "http://test/foo%5Ebar"
     27  );
     28 }