@@ -50,12 +50,22 @@ describe('Sender', () => {
50
50
51
51
describe ( '#send' , ( ) => {
52
52
it ( 'compresses data if compress option is enabled' , ( done ) => {
53
+ const chunks = [ ] ;
53
54
const perMessageDeflate = new PerMessageDeflate ( ) ;
54
- let count = 0 ;
55
55
const mockSocket = new MockSocket ( {
56
- write : ( data ) => {
57
- assert . strictEqual ( data [ 0 ] & 0x40 , 0x40 ) ;
58
- if ( ++ count === 3 ) done ( ) ;
56
+ write : ( chunk ) => {
57
+ chunks . push ( chunk ) ;
58
+ if ( chunks . length !== 6 ) return ;
59
+
60
+ assert . strictEqual ( chunks [ 0 ] . length , 2 ) ;
61
+ assert . strictEqual ( chunks [ 0 ] [ 0 ] & 0x40 , 0x40 ) ;
62
+
63
+ assert . strictEqual ( chunks [ 2 ] . length , 2 ) ;
64
+ assert . strictEqual ( chunks [ 2 ] [ 0 ] & 0x40 , 0x40 ) ;
65
+
66
+ assert . strictEqual ( chunks [ 4 ] . length , 2 ) ;
67
+ assert . strictEqual ( chunks [ 4 ] [ 0 ] & 0x40 , 0x40 ) ;
68
+ done ( ) ;
59
69
}
60
70
} ) ;
61
71
const sender = new Sender ( mockSocket , {
@@ -74,10 +84,16 @@ describe('Sender', () => {
74
84
75
85
describe ( 'when context takeover is disabled' , ( ) => {
76
86
it ( 'honors the compression threshold' , ( done ) => {
87
+ const chunks = [ ] ;
77
88
const perMessageDeflate = new PerMessageDeflate ( ) ;
78
89
const mockSocket = new MockSocket ( {
79
- write : ( data ) => {
80
- assert . notStrictEqual ( data [ 0 ] & 0x40 , 0x40 ) ;
90
+ write : ( chunk ) => {
91
+ chunks . push ( chunk ) ;
92
+ if ( chunks . length !== 2 ) return ;
93
+
94
+ assert . strictEqual ( chunks [ 0 ] . length , 2 ) ;
95
+ assert . notStrictEqual ( chunk [ 0 ] [ 0 ] & 0x40 , 0x40 ) ;
96
+ assert . deepStrictEqual ( chunks [ 1 ] , Buffer . from ( 'hi' ) ) ;
81
97
done ( ) ;
82
98
}
83
99
} ) ;
0 commit comments