%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
// 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); })); }