mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 05:11:16 +00:00
1f8ef93d7d
Differential Revision: https://phabricator.services.mozilla.com/D116466
145 lines
3.3 KiB
JavaScript
145 lines
3.3 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
add_test(function test_ipv4_any() {
|
|
let socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
Assert.throws(() => {
|
|
socket.init(-1, false, Services.scriptSecurityManager.getSystemPrincipal());
|
|
}, /NS_ERROR_OFFLINE/);
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_ipv6_any() {
|
|
let socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
Assert.throws(() => {
|
|
socket.init2("::", -1, Services.scriptSecurityManager.getSystemPrincipal());
|
|
}, /NS_ERROR_OFFLINE/);
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_ipv4() {
|
|
let socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
Assert.throws(() => {
|
|
socket.init2(
|
|
"240.0.0.1",
|
|
-1,
|
|
Services.scriptSecurityManager.getSystemPrincipal()
|
|
);
|
|
}, /NS_ERROR_OFFLINE/);
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_ipv6() {
|
|
let socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
Assert.throws(() => {
|
|
socket.init2(
|
|
"2001:db8::1",
|
|
-1,
|
|
Services.scriptSecurityManager.getSystemPrincipal()
|
|
);
|
|
}, /NS_ERROR_OFFLINE/);
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_ipv4_loopback() {
|
|
let socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
try {
|
|
socket.init2(
|
|
"127.0.0.1",
|
|
-1,
|
|
Services.scriptSecurityManager.getSystemPrincipal(),
|
|
true
|
|
);
|
|
} catch (e) {
|
|
Assert.ok(false, "unexpected exception: " + e);
|
|
}
|
|
|
|
// Now with localhost connections disabled in offline mode.
|
|
Services.prefs.setBoolPref("network.disable-localhost-when-offline", true);
|
|
socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
Assert.throws(() => {
|
|
socket.init2(
|
|
"127.0.0.1",
|
|
-1,
|
|
Services.scriptSecurityManager.getSystemPrincipal(),
|
|
true
|
|
);
|
|
}, /NS_ERROR_OFFLINE/);
|
|
|
|
Services.prefs.setBoolPref("network.disable-localhost-when-offline", false);
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_ipv6_loopback() {
|
|
let socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
try {
|
|
socket.init2(
|
|
"::1",
|
|
-1,
|
|
Services.scriptSecurityManager.getSystemPrincipal(),
|
|
true
|
|
);
|
|
} catch (e) {
|
|
Assert.ok(false, "unexpected exception: " + e);
|
|
}
|
|
|
|
// Now with localhost connections disabled in offline mode.
|
|
Services.prefs.setBoolPref("network.disable-localhost-when-offline", true);
|
|
socket = Cc["@mozilla.org/network/udp-socket;1"].createInstance(
|
|
Ci.nsIUDPSocket
|
|
);
|
|
|
|
Assert.throws(() => {
|
|
socket.init2(
|
|
"::1",
|
|
-1,
|
|
Services.scriptSecurityManager.getSystemPrincipal(),
|
|
true
|
|
);
|
|
}, /NS_ERROR_OFFLINE/);
|
|
|
|
Services.prefs.setBoolPref("network.disable-localhost-when-offline", false);
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
function run_test() {
|
|
// jshint ignore:line
|
|
Services.io.offline = true;
|
|
Services.prefs.setBoolPref("network.disable-localhost-when-offline", false);
|
|
registerCleanupFunction(() => {
|
|
Services.io.offline = false;
|
|
Services.prefs.clearUserPref("network.disable-localhost-when-offline");
|
|
});
|
|
run_next_test();
|
|
}
|