node/test/parallel/test-net-connect-options-path.js
Joyee Cheung 7b830f4e4a test: add more and refactor test cases to net.connect
PR-URL: https://github.com/nodejs/node/pull/11847
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-03-16 15:09:58 -07:00

54 lines
1.7 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
common.refreshTmpDir();
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() {
const client = this;
client.end();
client.on('close', common.mustCall(function() {
counter++;
if (counter === CLIENT_VARIANTS) {
server.close();
}
}));
});
// CLIENT_VARIANTS depends on the following code
net.connect(serverPath, getConnectCb());
net.connect(serverPath)
.on('connect', getConnectCb());
net.createConnection(serverPath, getConnectCb());
net.createConnection(serverPath)
.on('connect', getConnectCb());
new net.Socket().connect(serverPath, getConnectCb());
new net.Socket().connect(serverPath)
.on('connect', getConnectCb());
net.connect({path: serverPath}, getConnectCb());
net.connect({path: serverPath})
.on('connect', getConnectCb());
net.createConnection({path: serverPath}, getConnectCb());
net.createConnection({path: serverPath})
.on('connect', getConnectCb());
new net.Socket().connect({path: serverPath}, getConnectCb());
new net.Socket().connect({path: serverPath})
.on('connect', getConnectCb());
}));
}