// First, we resolve the address normally for first originAttributes. function run_test() {
do_test_pending();
prefs.setBoolPref("network.proxy.allow_hijacking_localhost", true);
Services.dns.asyncResolve( "localhost",
Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT,
0, null, // resolverInfo
listener1,
mainThread,
firstOriginAttributes
);
}
// Second, we resolve the same address offline to see whether its DNS cache works // correctly. function test2() {
do_test_pending();
Services.dns.asyncResolve( "localhost",
Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT,
Ci.nsIDNSService.RESOLVE_OFFLINE, null, // resolverInfo
listener2,
mainThread,
firstOriginAttributes
);
}
// Third, we resolve the same address offline again with different originAttributes. // This resolving should fail since the DNS cache of the given address is not exist // for this originAttributes. function test3() {
do_test_pending(); try {
Services.dns.asyncResolve( "localhost",
Ci.nsIDNSService.RESOLVE_TYPE_DEFAULT,
Ci.nsIDNSService.RESOLVE_OFFLINE, null, // resolverInfo
listener3,
mainThread,
secondOriginAttributes
);
} catch (e) { Assert.equal(e.result, Cr.NS_ERROR_OFFLINE);
cleanup();
do_test_finished();
}
}
function cleanup() {
prefs.clearUserPref("network.proxy.allow_hijacking_localhost");
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.