|
1 var Cc = Components.classes; |
|
2 var Ci = Components.interfaces; |
|
3 |
|
4 function run_test() { |
|
5 var tld = Cc["@mozilla.org/network/effective-tld-service;1"] |
|
6 .getService(Ci.nsIEffectiveTLDService); |
|
7 |
|
8 var tests = [ |
|
9 { data: "bar.foo.co.uk", result: "foo.co.uk" }, |
|
10 { data: "foo.bar.foo.co.uk", result: "bar.foo.co.uk" }, |
|
11 { data: "foo.co.uk", throw: true }, |
|
12 { data: "co.uk", throw: true }, |
|
13 { data: ".co.uk", throw: true }, |
|
14 { data: "com", throw: true }, |
|
15 { data: "tûlîp.foo.fr", result: "foo.fr" }, |
|
16 { data: "tûlîp.fôû.fr", result: "xn--f-xgav.fr" }, |
|
17 { data: "file://foo/bar", throw: true }, |
|
18 ]; |
|
19 |
|
20 tests.forEach(function(test) { |
|
21 try { |
|
22 var r = tld.getNextSubDomain(test.data); |
|
23 do_check_eq(r, test.result); |
|
24 } catch (e) { |
|
25 do_check_true(test.throw); |
|
26 } |
|
27 }); |
|
28 } |