test_dns_localredirect.js (1306B)
1 "use strict"; 2 3 var prefs = Services.prefs; 4 5 var nextTest; 6 7 var listener = { 8 onLookupComplete(inRequest, inRecord) { 9 inRecord.QueryInterface(Ci.nsIDNSAddrRecord); 10 var answer = inRecord.getNextAddrAsString(); 11 Assert.ok(answer == "127.0.0.1" || answer == "::1"); 12 13 nextTest(); 14 do_test_finished(); 15 }, 16 QueryInterface: ChromeUtils.generateQI(["nsIDNSListener"]), 17 }; 18 19 const defaultOriginAttributes = {}; 20 21 function run_test() { 22 prefs.setCharPref("network.dns.localDomains", "local.vingtetun.org"); 23 24 var mainThread = Services.tm.currentThread; 25 nextTest = do_test_2; 26 Services.dns.asyncResolve( 27 "local.vingtetun.org", 28 Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT, 29 0, 30 null, // resolverInfo 31 listener, 32 mainThread, 33 defaultOriginAttributes 34 ); 35 36 do_test_pending(); 37 } 38 39 function do_test_2() { 40 var mainThread = Services.tm.currentThread; 41 nextTest = testsDone; 42 prefs.setCharPref("network.dns.forceResolve", "localhost"); 43 Services.dns.asyncResolve( 44 "www.example.com", 45 Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT, 46 0, 47 null, // resolverInfo 48 listener, 49 mainThread, 50 defaultOriginAttributes 51 ); 52 53 do_test_pending(); 54 } 55 56 function testsDone() { 57 prefs.clearUserPref("network.dns.localDomains"); 58 prefs.clearUserPref("network.dns.forceResolve"); 59 }