deno.land / std@0.166.0 / node / _tools / test / parallel / test-dgram-send-error.js

test-dgram-send-error.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 18.12.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
// Flags: --expose-internals'use strict';const common = require('../common');const assert = require('assert');const dgram = require('dgram');const { internalBinding } = require('internal/test/binding');const { UV_UNKNOWN } = internalBinding('uv');const { getSystemErrorName } = require('util');const { kStateSymbol } = require('internal/dgram');const mockError = new Error('mock DNS error');
function getSocket(callback) { const socket = dgram.createSocket('udp4');
socket.on('message', common.mustNotCall('Should not receive any messages.')); socket.bind(common.mustCall(() => { socket[kStateSymbol].handle.lookup = function(address, callback) { process.nextTick(callback, mockError); };
callback(socket); })); return socket;}
getSocket((socket) => { socket.on('error', common.mustCall((err) => { socket.close(); assert.strictEqual(err, mockError); }));
socket.send('foo', socket.address().port, 'localhost');});
getSocket((socket) => { const callback = common.mustCall((err) => { socket.close(); assert.strictEqual(err, mockError); });
socket.send('foo', socket.address().port, 'localhost', callback);});
{ const socket = dgram.createSocket('udp4');
socket.on('message', common.mustNotCall('Should not receive any messages.'));
socket.bind(common.mustCall(() => { const port = socket.address().port; const callback = common.mustCall((err) => { socket.close(); assert.strictEqual(err.code, 'UNKNOWN'); assert.strictEqual(getSystemErrorName(err.errno), 'UNKNOWN'); assert.strictEqual(err.syscall, 'send'); assert.strictEqual(err.address, common.localhostIPv4); assert.strictEqual(err.port, port); assert.strictEqual( err.message, `${err.syscall} ${err.code} ${err.address}:${err.port}` ); });
socket[kStateSymbol].handle.send = function() { return UV_UNKNOWN; };
socket.send('foo', port, common.localhostIPv4, callback); }));}
std

Version Info

Tagged at
a year ago