| 'use strict'; |
| |
| const common = require('../common'); |
| const assert = require('assert'); |
| const dgram = require('dgram'); |
| |
| const PORT = 12345; |
| |
| const client = dgram.createSocket('udp4'); |
| client.connect(PORT, common.mustCall(() => { |
| const remoteAddr = client.remoteAddress(); |
| assert.strictEqual(remoteAddr.port, PORT); |
| assert.throws(() => { |
| client.connect(PORT, common.mustNotCall()); |
| }, { |
| name: 'Error', |
| message: 'Already connected', |
| code: 'ERR_SOCKET_DGRAM_IS_CONNECTED' |
| }); |
| |
| client.disconnect(); |
| assert.throws(() => { |
| client.disconnect(); |
| }, { |
| name: 'Error', |
| message: 'Not connected', |
| code: 'ERR_SOCKET_DGRAM_NOT_CONNECTED' |
| }); |
| |
| assert.throws(() => { |
| client.remoteAddress(); |
| }, { |
| name: 'Error', |
| message: 'Not connected', |
| code: 'ERR_SOCKET_DGRAM_NOT_CONNECTED' |
| }); |
| |
| client.once('connect', common.mustCall(() => client.close())); |
| client.connect(PORT); |
| })); |
| |
| assert.throws(() => { |
| client.connect(PORT); |
| }, { |
| name: 'Error', |
| message: 'Already connected', |
| code: 'ERR_SOCKET_DGRAM_IS_CONNECTED' |
| }); |
| |
| assert.throws(() => { |
| client.disconnect(); |
| }, { |
| name: 'Error', |
| message: 'Not connected', |
| code: 'ERR_SOCKET_DGRAM_NOT_CONNECTED' |
| }); |
| |
| [ 0, null, 78960, undefined ].forEach((port) => { |
| assert.throws(() => { |
| client.connect(port); |
| }, { |
| name: 'RangeError', |
| message: /^Port should be >= 0 and < 65536/, |
| code: 'ERR_SOCKET_BAD_PORT' |
| }); |
| }); |