summaryrefslogtreecommitdiffstats
path: root/modules/libjar/test/unit/test_bug370103.js
blob: 059cadee03e4bebbf378af792765f743a470c83f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
const { NetUtil } = ChromeUtils.import("resource://gre/modules/NetUtil.jsm");

// Regression test for bug 370103 - crash when passing a null listener to
// nsIChannel.asyncOpen
function run_test() {
  // Compose the jar: url
  var file = do_get_file("data/test_bug370103.jar");
  var url = Services.io.newFileURI(file).spec;
  url = "jar:" + url + "!/test_bug370103";

  // Try opening channel with null listener
  var channel = NetUtil.newChannel({
    uri: url,
    loadUsingSystemPrincipal: true,
  });

  var exception = false;
  try {
    channel.asyncOpen(null);
  } catch (e) {
    exception = true;
  }

  Assert.ok(exception); // should throw exception instead of crashing
}