| '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(); |
| })); |
| } |