diff options
Diffstat (limited to 'modules/libjar/test/unit/test_bug370103.js')
-rw-r--r-- | modules/libjar/test/unit/test_bug370103.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/modules/libjar/test/unit/test_bug370103.js b/modules/libjar/test/unit/test_bug370103.js new file mode 100644 index 000000000..210cf7a15 --- /dev/null +++ b/modules/libjar/test/unit/test_bug370103.js @@ -0,0 +1,28 @@ +var Cc = Components.classes; +var Ci = Components.interfaces; +var Cu = Components.utils; +Cu.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 ioService = Cc["@mozilla.org/network/io-service;1"]. + getService(Ci.nsIIOService); + var file = do_get_file("data/test_bug370103.jar"); + var url = ioService.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.asyncOpen2(null); + } + catch(e) { + exception = true; + } + + do_check_true(exception); // should throw exception instead of crashing +} |