1// Flags: --expose-internals
2'use strict';
3const common = require('../common');
4const dgram = require('dgram');
5const { kStateSymbol } = require('internal/dgram');
6const socket = dgram.createSocket('udp4');
7const { handle } = socket[kStateSymbol];
8const lookup = handle.lookup;
9
10// Test the scenario where the socket is closed during a bind operation.
11handle.bind = common.mustNotCall('bind() should not be called.');
12
13handle.lookup = common.mustCall(function(address, callback) {
14  socket.close(common.mustCall(() => {
15    lookup.call(this, address, callback);
16  }));
17});
18
19socket.bind(common.mustNotCall('Socket should not bind.'));
20