@@ -21,22 +21,27 @@ const tls = require('tls');
21
21
assert . strictEqual ( socket . allowHalfOpen , false ) ;
22
22
}
23
23
24
-
25
24
const server = tls . createServer ( {
26
25
key : fixtures . readKey ( 'agent1-key.pem' ) ,
27
26
cert : fixtures . readKey ( 'agent1-cert.pem' ) ,
28
27
} , common . mustCall ( ( socket ) => {
29
28
server . close ( ) ;
30
29
30
+ let message = '' ;
31
+
31
32
socket . setEncoding ( 'utf8' ) ;
32
- socket . on ( 'data' , common . mustCall ( ( chunk ) => {
33
- if ( chunk === 'Hello' ) {
34
- socket . end ( chunk ) ;
35
- } else {
36
- assert . strictEqual ( chunk , 'Bye' ) ;
37
- assert ( ! socket . writable ) ;
33
+ socket . on ( 'data' , ( chunk ) => {
34
+ message += chunk ;
35
+
36
+ if ( message === 'Hello' ) {
37
+ socket . end ( message ) ;
38
+ message = '' ;
38
39
}
39
- } , 2 ) ) ;
40
+ } ) ;
41
+
42
+ socket . on ( 'end' , common . mustCall ( ( ) => {
43
+ assert . strictEqual ( message , 'Bye' ) ;
44
+ } ) ) ;
40
45
} ) ) ;
41
46
42
47
server . listen ( 0 , common . mustCall ( ( ) => {
@@ -45,10 +50,15 @@ server.listen(0, common.mustCall(() => {
45
50
rejectUnauthorized : false ,
46
51
allowHalfOpen : true ,
47
52
} , common . mustCall ( ( ) => {
48
- socket . on ( 'data' , common . mustCall ( ( chunk ) => {
49
- assert . strictEqual ( chunk , 'Hello' ) ;
50
- } ) ) ;
53
+ let message = '' ;
54
+
55
+ socket . on ( 'data' , ( chunk ) => {
56
+ message += chunk ;
57
+ } ) ;
58
+
51
59
socket . on ( 'end' , common . mustCall ( ( ) => {
60
+ assert . strictEqual ( message , 'Hello' ) ;
61
+
52
62
setTimeout ( ( ) => {
53
63
assert ( socket . writable ) ;
54
64
assert ( socket . write ( 'Bye' ) ) ;
0 commit comments