Skip to content

Commit fad87e3

Browse files
committed
Add tests for various websocket close edge cases
1 parent fb58179 commit fad87e3

2 files changed

Lines changed: 427 additions & 0 deletions

File tree

test/fixtures/slow-deflate.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
const PerMessageDeflate = require('../../lib/permessage-deflate');
2+
3+
// Wrap a PerMessageDeflate, making its compress & decompress methods slow so that
4+
// can reliably test race conditions.
5+
exports.makeDeflateSlow = (ws, delayMs) => {
6+
const perMessageDeflateInstance =
7+
ws._extensions[PerMessageDeflate.extensionName];
8+
9+
const compress = perMessageDeflateInstance.compress;
10+
const decompress = perMessageDeflateInstance.decompress;
11+
12+
const slowDeflate = Object.assign(perMessageDeflateInstance, {
13+
compress() {
14+
setTimeout(
15+
() => compress.apply(perMessageDeflateInstance, arguments),
16+
delayMs
17+
);
18+
},
19+
decompress() {
20+
setTimeout(
21+
() => decompress.apply(perMessageDeflateInstance, arguments),
22+
delayMs
23+
);
24+
}
25+
});
26+
27+
ws._extensions[PerMessageDeflate.extensionName] = slowDeflate;
28+
};

0 commit comments

Comments
 (0)