Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

"use strict";
var prefs = Services.prefs;
var nextTest;
var listener = {
onLookupComplete(inRequest, inRecord) {
inRecord.QueryInterface(Ci.nsIDNSAddrRecord);
var answer = inRecord.getNextAddrAsString();
Assert.ok(answer == "127.0.0.1" || answer == "::1");
nextTest();
do_test_finished();
},
QueryInterface: ChromeUtils.generateQI(["nsIDNSListener"]),
};
const defaultOriginAttributes = {};
function run_test() {
prefs.setCharPref("network.dns.localDomains", "local.vingtetun.org");
var mainThread = Services.tm.currentThread;
nextTest = do_test_2;
Services.dns.asyncResolve(
"local.vingtetun.org",
Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT,
0,
null, // resolverInfo
listener,
mainThread,
defaultOriginAttributes
);
do_test_pending();
}
function do_test_2() {
var mainThread = Services.tm.currentThread;
nextTest = testsDone;
prefs.setCharPref("network.dns.forceResolve", "localhost");
Services.dns.asyncResolve(
"www.example.com",
Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT,
0,
null, // resolverInfo
listener,
mainThread,
defaultOriginAttributes
);
do_test_pending();
}
function testsDone() {
prefs.clearUserPref("network.dns.localDomains");
prefs.clearUserPref("network.dns.forceResolve");
}