mirror of
https://github.com/nodejs/node.git
synced 2025-08-17 14:48:58 +02:00

PR-URL: https://github.com/nodejs/node/pull/51112 Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
38 lines
1,004 B
JavaScript
38 lines
1,004 B
JavaScript
// Flags: --expose-internals
|
|
'use strict';
|
|
|
|
const common = require('../common');
|
|
if (!common.hasQuic)
|
|
common.skip('missing quic');
|
|
const { internalBinding } = require('internal/test/binding');
|
|
const quic = internalBinding('quic');
|
|
|
|
const { throws } = require('assert');
|
|
|
|
const callbacks = {
|
|
onEndpointClose() {},
|
|
onSessionNew() {},
|
|
onSessionClose() {},
|
|
onSessionDatagram() {},
|
|
onSessionDatagramStatus() {},
|
|
onSessionHandshake() {},
|
|
onSessionPathValidation() {},
|
|
onSessionTicket() {},
|
|
onSessionVersionNegotiation() {},
|
|
onStreamCreated() {},
|
|
onStreamBlocked() {},
|
|
onStreamClose() {},
|
|
onStreamReset() {},
|
|
onStreamHeaders() {},
|
|
onStreamTrailers() {},
|
|
};
|
|
// Fail if any callback is missing
|
|
for (const fn of Object.keys(callbacks)) {
|
|
// eslint-disable-next-line no-unused-vars
|
|
const { [fn]: _, ...rest } = callbacks;
|
|
throws(() => quic.setCallbacks(rest), {
|
|
code: 'ERR_MISSING_ARGS',
|
|
});
|
|
}
|
|
// If all callbacks are present it should work
|
|
quic.setCallbacks(callbacks);
|