mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 07:44:48 -05:00
45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
|
// 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());
|
||
|
}));
|