1'use strict'; 2 3const common = require('../common'); 4const assert = require('assert'); 5const net = require('net'); 6 7const truthyValues = [true, 1, 'true', {}, []]; 8const falseyValues = [false, 0, '']; 9const genSetNoDelay = (desiredArg) => (enable) => { 10 assert.strictEqual(enable, desiredArg); 11}; 12 13for (const value of truthyValues) { 14 const server = net.createServer(); 15 16 server.listen(0, common.mustCall(function() { 17 const port = server.address().port; 18 19 const client = net.connect( 20 { port, noDelay: value }, 21 common.mustCall(() => client.end()) 22 ); 23 24 client._handle.setNoDelay = common.mustCall(genSetNoDelay(true)); 25 26 client.on('end', common.mustCall(function() { 27 server.close(); 28 })); 29 })); 30} 31 32for (const value of falseyValues) { 33 const server = net.createServer(); 34 35 server.listen(0, common.mustCall(function() { 36 const port = server.address().port; 37 38 const client = net.connect( 39 { port, noDelay: value }, 40 common.mustCall(() => client.end()) 41 ); 42 43 client._handle.setNoDelay = common.mustNotCall(); 44 45 client.on('end', common.mustCall(function() { 46 server.close(); 47 })); 48 })); 49} 50