diff options
Diffstat (limited to 'tests/node_compat/test/parallel/test-dgram-ipv6only.js')
-rw-r--r-- | tests/node_compat/test/parallel/test-dgram-ipv6only.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/node_compat/test/parallel/test-dgram-ipv6only.js b/tests/node_compat/test/parallel/test-dgram-ipv6only.js new file mode 100644 index 000000000..31f4e1fd9 --- /dev/null +++ b/tests/node_compat/test/parallel/test-dgram-ipv6only.js @@ -0,0 +1,44 @@ +// deno-fmt-ignore-file +// deno-lint-ignore-file + +// Copyright Joyent and Node contributors. All rights reserved. MIT license. +// Taken from Node 16.13.0 +// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually + +// TODO(cmorten): Deno.listenDatagram is currently `0.0.0.0` when you listen to `::`. + +'use strict'; + +const common = require('../common'); +if (!common.hasIPv6) + common.skip('no IPv6 support'); + +const dgram = require('dgram'); + +// This test ensures that dual-stack support is disabled when +// we specify the `ipv6Only` option in `dgram.createSocket()`. +const socket = dgram.createSocket({ + type: 'udp6', + ipv6Only: true, +}); + +socket.bind({ + port: 0, + address: '::', +}, common.mustCall(() => { + const { port } = socket.address(); + const client = dgram.createSocket('udp4'); + + // We can still bind to '0.0.0.0'. + // TODO: uncomment out when Deno allows IPv4 and IPv6 to be bound + // independently + // client.bind({ + // port, + // address: '0.0.0.0', + // }, common.mustCall(() => { + client.close(); + socket.close(); + // })); + + client.on('error', common.mustNotCall()); +})); |