Skip to content

Commit 916ead9

Browse files
James Herringtoncodebytere
authored andcommitted
test: add tests for Socket.setNoDelay
PR-URL: #24250 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
1 parent 0c2d1d5 commit 916ead9

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
'use strict';
2+
3+
constcommon=require('../common');
4+
constassert=require('assert');
5+
constnet=require('net');
6+
7+
consttruthyValues=[true,1,'true',{},[]];
8+
constfalseyValues=[false,0,''];
9+
constgenSetNoDelay=(desiredArg)=>(enable)=>{
10+
assert.strictEqual(enable,desiredArg);
11+
};
12+
13+
// setNoDelay should default to true
14+
letsocket=newnet.Socket({
15+
handle: {
16+
setNoDelay: common.mustCall(genSetNoDelay(true))
17+
}
18+
});
19+
socket.setNoDelay();
20+
21+
socket=newnet.Socket({
22+
handle: {
23+
setNoDelay: common.mustCall(genSetNoDelay(true),truthyValues.length)
24+
}
25+
});
26+
truthyValues.forEach((testVal)=>socket.setNoDelay(testVal));
27+
28+
socket=newnet.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=newnet.Socket({
38+
handle: {
39+
setNoDelay: null
40+
}
41+
});
42+
constreturned=socket.setNoDelay(true);
43+
assert.ok(returnedinstanceofnet.Socket);

0 commit comments

Comments
(0)