aboutsummaryrefslogtreecommitdiff
path: root/chrome/content/unittests.js
blob: ea6e26b7a122a9588d6f5479bac5529242276eec (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
31
32
33
34
35
36
37
38
39
//// $Id$
var tests = {
	"Wildcard matches" : {
		run : function(data) { 
			var pattern = data[0],
				url = data[1],
				expected = data[2];
			var parts = expected.split(',');
			var redirectUrl = '';
			if (!(parts.length == 1 && parts[0] == '')) {
				for (var i in parts) {
					redirectUrl += '$' + (parseFloat(i)+1) + ',';
				}
				redirectUrl = redirectUrl.substr(0, redirectUrl.length-1);
			}
			var result = redirector.wildcardMatch(pattern, url, redirectUrl, false); 
			return result == expected;
		},
		
		describe : function(data) { return data[0] + ' == ' + data[1] + ', matches=' + data[2]; },
		tests : [
			['http://foo*', 'http://foobar.is', 'bar.is'],
			['http://foo*', 'http://foo', ''],
			['*://foo.is', 'http://foo.is', 'http'],
			['*http://foo.is', 'http://foo.is', ''],
			['http*foo*', 'http://foobar.is', '://,bar.is'],
			['http*foo*', 'http://foo', '://,'],
			['*://f*.is', 'http://foo.is', 'http,oo'],
			['*http://f*.is', 'http://foo.is', ',oo'],
			['*foo*', 'http://foo', 'http://,'],
			['*foo*', 'foobar.is', ',bar.is'],
			['*foo*', 'http://foobar.is', 'http://,bar.is'],
			['http://foo.is', 'http://foo.is', ''],
			['*', 'http://foo.is', 'http://foo.is'],
			['*://*oo*bar*', 'http://foo.is/bar/baz', 'http,f,.is/,/baz'],
			['*://**oo*bar*', 'http://foo.is/bar/baz', 'http,,f,.is/,/baz'],
		]
	}
};