mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
test: add test for Http2ServerResponse#[writableCorked,cork,uncork]
PR-URL: https://github.com/nodejs/node/pull/33956 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
bc23d108c8
commit
fe6e46842e
54
test/parallel/test-http2-res-corked.js
Normal file
54
test/parallel/test-http2-res-corked.js
Normal file
@ -0,0 +1,54 @@
|
||||
'use strict';
|
||||
const common = require('../common');
|
||||
if (!common.hasCrypto) { common.skip('missing crypto'); }
|
||||
|
||||
// Test for Http2ServerResponse#[writableCorked,cork,uncork]
|
||||
|
||||
const { strictEqual } = require('assert');
|
||||
const http2 = require('http2');
|
||||
|
||||
{
|
||||
let corksLeft = 0;
|
||||
const server = http2.createServer(common.mustCall((req, res) => {
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.write(Buffer.from('1'.repeat(1024)));
|
||||
res.cork();
|
||||
corksLeft++;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.write(Buffer.from('1'.repeat(1024)));
|
||||
res.cork();
|
||||
corksLeft++;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.write(Buffer.from('1'.repeat(1024)));
|
||||
res.cork();
|
||||
corksLeft++;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.write(Buffer.from('1'.repeat(1024)));
|
||||
res.cork();
|
||||
corksLeft++;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.uncork();
|
||||
corksLeft--;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.uncork();
|
||||
corksLeft--;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.uncork();
|
||||
corksLeft--;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.uncork();
|
||||
corksLeft--;
|
||||
strictEqual(res.writableCorked, corksLeft);
|
||||
res.end();
|
||||
}));
|
||||
server.listen(0, common.mustCall(() => {
|
||||
const URL = `http://localhost:${server.address().port}`;
|
||||
const client = http2.connect(URL);
|
||||
const req = client.request();
|
||||
req.on('data', common.mustCall(2));
|
||||
req.on('end', common.mustCall(() => {
|
||||
server.close();
|
||||
client.close();
|
||||
}));
|
||||
}));
|
||||
}
|
Loading…
Reference in New Issue
Block a user