Skip to content

Commit 4081a36

Browse files
committed
[test] Do not call the done callback prematurely
1 parent d2c935a commit 4081a36

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

test/sender.test.js

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,22 @@ describe('Sender', () => {
5050

5151
describe('#send', () => {
5252
it('compresses data if compress option is enabled', (done) => {
53+
const chunks = [];
5354
const perMessageDeflate = new PerMessageDeflate();
54-
let count = 0;
5555
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();
5969
}
6070
});
6171
const sender = new Sender(mockSocket, {
@@ -74,10 +84,16 @@ describe('Sender', () => {
7484

7585
describe('when context takeover is disabled', () => {
7686
it('honors the compression threshold', (done) => {
87+
const chunks = [];
7788
const perMessageDeflate = new PerMessageDeflate();
7889
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'));
8197
done();
8298
}
8399
});

0 commit comments

Comments
 (0)