◐ Shell
clean mode source ↗

quic: copy options.certs buffer instead of detaching · nodejs/node@45c1ebd

@@ -28,16 +28,24 @@ assert.strictEqual(endpoint.address, undefined);

2828

await assert.rejects(listen(123, { keys, certs, endpoint }), {

2929

code: 'ERR_INVALID_ARG_TYPE',

3030

});

31+

// Buffer is not detached.

32+

assert.strictEqual(certs.buffer.detached, false);

31333234

await assert.rejects(listen(() => {}, 123), {

3335

code: 'ERR_INVALID_ARG_TYPE',

3436

});

35373638

await listen(() => {}, { keys, certs, endpoint });

39+

// Buffer is not detached.

40+

assert.strictEqual(certs.buffer.detached, false);

41+3742

await assert.rejects(listen(() => {}, { keys, certs, endpoint }), {

3843

code: 'ERR_INVALID_STATE',

3944

});

404546+

// Buffer is not detached.

47+

assert.strictEqual(certs.buffer.detached, false);

48+4149

assert.ok(endpoint[kState].isBound);

4250

assert.ok(endpoint[kState].isReceiving);

4351

assert.ok(endpoint[kState].isListening);

@@ -59,6 +67,9 @@ assert.ok(endpoint.destroyed);

5967

await assert.rejects(listen(() => {}, { keys, certs, endpoint }), {

6068

code: 'ERR_INVALID_STATE',

6169

});

70+

// Buffer is not detached.

71+

assert.strictEqual(certs.buffer.detached, false);

72+6273

assert.throws(() => { endpoint.busy = true; }, {

6374

code: 'ERR_INVALID_STATE',

6475

});