const Cc = Components.classes;
const Ci = Components.interfaces;

const testURLs = [
  ["http://example.com/<", "http://example.com/%3C"],
  ["http://example.com/>", "http://example.com/%3E"],
  ["http://example.com/'", "http://example.com/%27"],
  ["http://example.com/\"", "http://example.com/%22"],
  ["http://example.com/?<", "http://example.com/?%3C"],
  ["http://example.com/?>", "http://example.com/?%3E"],
  ["http://example.com/?'", "http://example.com/?%27"],
  ["http://example.com/?\"", "http://example.com/?%22"]
]

function run_test() {
  var ioServ =
    Cc["@mozilla.org/network/io-service;1"].
    getService(Ci.nsIIOService);

  for (var i = 0; i < testURLs.length; i++) {
    var uri = ioServ.newURI(testURLs[i][0], null, null);
    do_check_eq(uri.spec, testURLs[i][1]);
  }
}
