1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/netwerk/test/unit/test_psl.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,36 @@ 1.4 +var etld = Cc["@mozilla.org/network/effective-tld-service;1"] 1.5 + .getService(Ci.nsIEffectiveTLDService); 1.6 + 1.7 +var idna = Cc["@mozilla.org/network/idn-service;1"] 1.8 + .getService(Ci.nsIIDNService); 1.9 + 1.10 +var Cr = Components.results; 1.11 + 1.12 +function run_test() 1.13 +{ 1.14 + var file = do_get_file("data/test_psl.txt"); 1.15 + var ios = Cc["@mozilla.org/network/io-service;1"] 1.16 + .getService(Ci.nsIIOService); 1.17 + var uri = ios.newFileURI(file); 1.18 + var scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"] 1.19 + .getService(Ci.mozIJSSubScriptLoader); 1.20 + var srvScope = {}; 1.21 + scriptLoader.loadSubScript(uri.spec, srvScope, "utf-8"); 1.22 +} 1.23 + 1.24 +function checkPublicSuffix(host, expectedSuffix) 1.25 +{ 1.26 + var actualSuffix = null; 1.27 + try { 1.28 + actualSuffix = etld.getBaseDomainFromHost(host); 1.29 + } catch (e if e.result == Cr.NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS || 1.30 + e.result == Cr.NS_ERROR_ILLEGAL_VALUE) { 1.31 + } 1.32 + // The EffectiveTLDService always gives back punycoded labels. 1.33 + // The test suite wants to get back what it put in. 1.34 + if (actualSuffix !== null && expectedSuffix !== null && 1.35 + /(^|\.)xn--/.test(actualSuffix) && !/(^|\.)xn--/.test(expectedSuffix)) { 1.36 + actualSuffix = idna.convertACEtoUTF8(actualSuffix); 1.37 + } 1.38 + do_check_eq(actualSuffix, expectedSuffix); 1.39 +}