File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Open diff view settings
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Open diff view settings
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ const common = require ( '../common' ) ;
4+ const assert = require ( 'assert' ) ;
5+ const net = require ( 'net' ) ;
6+
7+ const truthyValues = [ true , 1 , 'true' , { } , [ ] ] ;
8+ const falseyValues = [ false , 0 , '' ] ;
9+ const genSetNoDelay = ( desiredArg ) => ( enable ) => {
10+ assert . strictEqual ( enable , desiredArg ) ;
11+ } ;
12+
13+ // setNoDelay should default to true
14+ let socket = new net . Socket ( {
15+ handle : {
16+ setNoDelay : common . mustCall ( genSetNoDelay ( true ) )
17+ }
18+ } ) ;
19+ socket . setNoDelay ( ) ;
20+
21+ socket = new net . Socket ( {
22+ handle : {
23+ setNoDelay : common . mustCall ( genSetNoDelay ( true ) , truthyValues . length )
24+ }
25+ } ) ;
26+ truthyValues . forEach ( ( testVal ) => socket . setNoDelay ( testVal ) ) ;
27+
28+ socket = new net . Socket ( {
29+ handle : {
30+ setNoDelay : common . mustCall ( genSetNoDelay ( false ) , falseyValues . length )
31+ }
32+ } ) ;
33+ falseyValues . forEach ( ( testVal ) => socket . setNoDelay ( testVal ) ) ;
34+
35+ // if a handler doesn't have a setNoDelay function it shouldn't be called.
36+ // In the case below, if it is called an exception will be thrown
37+ socket = new net . Socket ( {
38+ handle : {
39+ setNoDelay : null
40+ }
41+ } ) ;
42+ const returned = socket . setNoDelay ( true ) ;
43+ assert . ok ( returned instanceof net . Socket ) ;
You can’t perform that action at this time.
0 commit comments