summaryrefslogtreecommitdiffstats
path: root/netwerk/test/unit/test_1073747.js
blob: c930514e7e4bcf595af0d724e7a54e5fd6db931a (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
27
28
29
30
// Test based on submitted one from Peter B Shalimoff

var test = function(s, funcName){
    function Arg(){};
    Arg.prototype.toString = function(){
	do_print("Testing " + funcName + " with null args");
	return this.value;
    };
    // create a generic arg lits of null, -1, and 10 nulls
    var args = [s, -1];
    for (var i = 0; i < 10; ++i) {
	args.push(new Arg());
    }
    var up = Components.classes["@mozilla.org/network/url-parser;1?auth=maybe"].getService(Components.interfaces.nsIURLParser);
    try {
	up[funcName].apply(up, args);
	return args;
	} catch (x) {
	    do_check_true(true); // make sure it throws an exception instead of crashing
	    return x;
	}
    // should always have an exception to catch
    do_check_true(false);
};
var s = null;
var funcs = ["parseAuthority", "parseFileName", "parseFilePath", "parsePath", "parseServerInfo", "parseURL", "parseUserInfo"];

function run_test() {
    funcs.forEach(function(f){test(s, f);});
}