Follow-on fix for bug 457825. Use sheet principal for agent and user sheets. r=dbaron...
[wine-gecko.git] / netwerk / test / unit / test_bug371473.js
blob2c63875df3a0e073eb133a73744c51ed03d0f49e
1 const Cc = Components.classes;
2 const Ci = Components.interfaces;
4 function test_not_too_long() {
5   var ios = Cc["@mozilla.org/network/io-service;1"].
6     getService(Ci.nsIIOService);
8   var spec = "jar:http://example.com/bar.jar!/";
9   try {
10     var newURI = ios.newURI(spec, null, null);
11   }
12   catch (e) {
13     do_throw("newURI threw even though it wasn't passed a large nested URI?");
14   }
17 function test_too_long() {
18   var ios = Cc["@mozilla.org/network/io-service;1"].
19     getService(Ci.nsIIOService);
21   var i;
22   var prefix = "jar:";
23   for (i = 0; i < 16; i++) {
24     prefix = prefix + prefix;
25   }
26   var suffix = "!/";
27   for (i = 0; i < 16; i++) {
28     suffix = suffix + suffix;
29   }
31   var spec = prefix + "http://example.com/bar.jar" + suffix;
32   try {
33     // The following will produce a recursive call that if
34     // unchecked would lead to a stack overflow. If we
35     // do not crash here and thus an exception is caught
36     // we have passed the test.
37     var newURI = ios.newURI(spec, null, null);
38   }
39   catch (e) {
40     return;
41   }
44 function run_test() {
45   test_not_too_long();
46   test_too_long();