netwerk/test/unit/test_psl.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:10e4dfb74788
1 var etld = Cc["@mozilla.org/network/effective-tld-service;1"]
2 .getService(Ci.nsIEffectiveTLDService);
3
4 var idna = Cc["@mozilla.org/network/idn-service;1"]
5 .getService(Ci.nsIIDNService);
6
7 var Cr = Components.results;
8
9 function run_test()
10 {
11 var file = do_get_file("data/test_psl.txt");
12 var ios = Cc["@mozilla.org/network/io-service;1"]
13 .getService(Ci.nsIIOService);
14 var uri = ios.newFileURI(file);
15 var scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"]
16 .getService(Ci.mozIJSSubScriptLoader);
17 var srvScope = {};
18 scriptLoader.loadSubScript(uri.spec, srvScope, "utf-8");
19 }
20
21 function checkPublicSuffix(host, expectedSuffix)
22 {
23 var actualSuffix = null;
24 try {
25 actualSuffix = etld.getBaseDomainFromHost(host);
26 } catch (e if e.result == Cr.NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS ||
27 e.result == Cr.NS_ERROR_ILLEGAL_VALUE) {
28 }
29 // The EffectiveTLDService always gives back punycoded labels.
30 // The test suite wants to get back what it put in.
31 if (actualSuffix !== null && expectedSuffix !== null &&
32 /(^|\.)xn--/.test(actualSuffix) && !/(^|\.)xn--/.test(expectedSuffix)) {
33 actualSuffix = idna.convertACEtoUTF8(actualSuffix);
34 }
35 do_check_eq(actualSuffix, expectedSuffix);
36 }

mercurial