michael@0: var dns = Cc["@mozilla.org/network/dns-service;1"].getService(Ci.nsIDNSService); michael@0: michael@0: var listener = { michael@0: onLookupComplete: function(inRequest, inRecord, inStatus) { michael@0: var answer = inRecord.getNextAddrAsString(); michael@0: do_check_true(answer == "127.0.0.1" || answer == "::1"); michael@0: michael@0: do_test_finished(); michael@0: }, michael@0: QueryInterface: function(aIID) { michael@0: if (aIID.equals(Ci.nsIDNSListener) || michael@0: aIID.equals(Ci.nsISupports)) { michael@0: return this; michael@0: } michael@0: throw Cr.NS_ERROR_NO_INTERFACE; michael@0: } michael@0: }; michael@0: michael@0: function run_test() { michael@0: var threadManager = Cc["@mozilla.org/thread-manager;1"].getService(Ci.nsIThreadManager); michael@0: var mainThread = threadManager.currentThread; michael@0: dns.asyncResolve("localhost", 0, listener, mainThread); michael@0: michael@0: do_test_pending(); michael@0: } michael@0: