diff options
Diffstat (limited to 'netwerk/test/unit/test_dns_localredirect.js')
-rw-r--r-- | netwerk/test/unit/test_dns_localredirect.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/netwerk/test/unit/test_dns_localredirect.js b/netwerk/test/unit/test_dns_localredirect.js new file mode 100644 index 000000000..71e312ebc --- /dev/null +++ b/netwerk/test/unit/test_dns_localredirect.js @@ -0,0 +1,31 @@ +var dns = Cc["@mozilla.org/network/dns-service;1"].getService(Ci.nsIDNSService); +var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch); + +var listener = { + onLookupComplete: function(inRequest, inRecord, inStatus) { + var answer = inRecord.getNextAddrAsString(); + do_check_true(answer == "127.0.0.1" || answer == "::1"); + + prefs.clearUserPref("network.dns.localDomains"); + + do_test_finished(); + }, + QueryInterface: function(aIID) { + if (aIID.equals(Ci.nsIDNSListener) || + aIID.equals(Ci.nsISupports)) { + return this; + } + throw Cr.NS_ERROR_NO_INTERFACE; + } +}; + +function run_test() { + prefs.setCharPref("network.dns.localDomains", "local.vingtetun.org"); + + var threadManager = Cc["@mozilla.org/thread-manager;1"].getService(Ci.nsIThreadManager); + var mainThread = threadManager.currentThread; + dns.asyncResolve("local.vingtetun.org", 0, listener, mainThread); + + do_test_pending(); +} + |