summaryrefslogtreecommitdiffstats
path: root/modules/libjar/test/unit/test_bug370103.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/libjar/test/unit/test_bug370103.js')
-rw-r--r--modules/libjar/test/unit/test_bug370103.js25
1 files changed, 25 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 0000000000..d9d0e3e6a2
--- /dev/null
+++ b/modules/libjar/test/unit/test_bug370103.js
@@ -0,0 +1,25 @@
+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
+}