summaryrefslogtreecommitdiffstats
path: root/netwerk/test/unit/test_channel_long_domain.js
diff options
context:
space:
mode:
Diffstat (limited to 'netwerk/test/unit/test_channel_long_domain.js')
-rw-r--r--netwerk/test/unit/test_channel_long_domain.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/netwerk/test/unit/test_channel_long_domain.js b/netwerk/test/unit/test_channel_long_domain.js
new file mode 100644
index 0000000000..1aa59412b3
--- /dev/null
+++ b/netwerk/test/unit/test_channel_long_domain.js
@@ -0,0 +1,17 @@
+// Tests that domains longer than 253 characters fail to load when pref is true
+
+add_task(async function test_long_domain_fails() {
+ Services.prefs.setBoolPref("network.dns.limit_253_chars", true);
+ let domain = "http://" + "a".repeat(254);
+
+ let req = await new Promise(resolve => {
+ let chan = NetUtil.newChannel({
+ uri: domain,
+ loadUsingSystemPrincipal: true,
+ });
+ chan.asyncOpen(new ChannelListener(resolve, null, CL_EXPECT_FAILURE));
+ });
+ Assert.equal(req.status, Cr.NS_ERROR_UNKNOWN_HOST, "Request should fail");
+
+ Services.prefs.clearUserPref("network.dns.limit_253_chars");
+});