test: refactor test-https-truncate
* use common.mustCall() where appropriate * Buffer.allocUnsafe() -> Buffer.alloc() * do crypto check before loading any additional modules * specify 1ms duration for `setTimeout()` PR-URL: https://github.com/nodejs/node/pull/10225 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
10891a1754
commit
8bad37a547
@ -1,11 +1,12 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
const common = require('../common');
|
const common = require('../common');
|
||||||
const assert = require('assert');
|
|
||||||
|
|
||||||
if (!common.hasCrypto) {
|
if (!common.hasCrypto) {
|
||||||
common.skip('missing crypto');
|
common.skip('missing crypto');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const assert = require('assert');
|
||||||
const https = require('https');
|
const https = require('https');
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
@ -14,7 +15,7 @@ const key = fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem');
|
|||||||
const cert = fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem');
|
const cert = fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem');
|
||||||
|
|
||||||
// number of bytes discovered empirically to trigger the bug
|
// number of bytes discovered empirically to trigger the bug
|
||||||
const data = Buffer.allocUnsafe(1024 * 32 + 1);
|
const data = Buffer.alloc(1024 * 32 + 1);
|
||||||
|
|
||||||
httpsTest();
|
httpsTest();
|
||||||
|
|
||||||
@ -36,12 +37,11 @@ function httpsTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function test(res) {
|
const test = common.mustCall(function(res) {
|
||||||
res.on('end', function() {
|
res.on('end', common.mustCall(function() {
|
||||||
assert.strictEqual(res._readableState.length, 0);
|
assert.strictEqual(res._readableState.length, 0);
|
||||||
assert.strictEqual(bytes, data.length);
|
assert.strictEqual(bytes, data.length);
|
||||||
console.log('ok');
|
}));
|
||||||
});
|
|
||||||
|
|
||||||
// Pause and then resume on each chunk, to ensure that there will be
|
// Pause and then resume on each chunk, to ensure that there will be
|
||||||
// a lone byte hanging out at the very end.
|
// a lone byte hanging out at the very end.
|
||||||
@ -49,6 +49,6 @@ function test(res) {
|
|||||||
res.on('data', function(chunk) {
|
res.on('data', function(chunk) {
|
||||||
bytes += chunk.length;
|
bytes += chunk.length;
|
||||||
this.pause();
|
this.pause();
|
||||||
setTimeout(this.resume.bind(this));
|
setTimeout(this.resume.bind(this), 1);
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user