nodejs/test/parallel/test-net-connect-options-pa...

60 lines
1.8 KiB
JavaScript

'use strict';
const common = require('../common');
const net = require('net');
// This file tests the option handling of net.connect,
// net.createConnect, and new Socket().connect
const tmpdir = require('../common/tmpdir');
tmpdir.refresh();
const CLIENT_VARIANTS = 12;
// Test connect(path)
{
const prefix = `${common.PIPE}-net-connect-options-path`;
const serverPath = `${prefix}-server`;
let counter = 0;
const server = net.createServer()
.on('connection', common.mustCall(function(socket) {
socket.end('ok');
}, CLIENT_VARIANTS))
.listen(serverPath, common.mustCall(function() {
const getConnectCb = () => common.mustCall(function() {
this.end();
this.on('close', common.mustCall(function() {
counter++;
if (counter === CLIENT_VARIANTS) {
server.close();
}
}));
});
// CLIENT_VARIANTS depends on the following code
net.connect(serverPath, getConnectCb()).resume();
net.connect(serverPath)
.on('connect', getConnectCb())
.resume();
net.createConnection(serverPath, getConnectCb()).resume();
net.createConnection(serverPath)
.on('connect', getConnectCb())
.resume();
new net.Socket().connect(serverPath, getConnectCb()).resume();
new net.Socket().connect(serverPath)
.on('connect', getConnectCb())
.resume();
net.connect({ path: serverPath }, getConnectCb()).resume();
net.connect({ path: serverPath })
.on('connect', getConnectCb())
.resume();
net.createConnection({ path: serverPath }, getConnectCb()).resume();
net.createConnection({ path: serverPath })
.on('connect', getConnectCb())
.resume();
new net.Socket().connect({ path: serverPath }, getConnectCb()).resume();
new net.Socket().connect({ path: serverPath })
.on('connect', getConnectCb())
.resume();
}));
}