• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common');
4if (!common.hasCrypto)
5  common.skip('missing crypto');
6
7const assert = require('assert');
8const http2 = require('http2');
9const { inspect } = require('util');
10
11// Verify that setTimeout callback verifications work correctly
12const verifyCallbacks = (server) => {
13  const testTimeout = 10;
14
15  [true, 1, {}, [], null, 'test'].forEach((notFunction) => {
16    assert.throws(
17      () => server.setTimeout(testTimeout, notFunction),
18      {
19        name: 'TypeError',
20        code: 'ERR_INVALID_CALLBACK',
21        message: 'Callback must be a function. ' +
22                 `Received ${inspect(notFunction)}`
23      }
24    );
25  });
26
27  // No callback
28  const returnedVal = server.setTimeout(testTimeout);
29  assert.strictEqual(returnedVal.timeout, testTimeout);
30};
31
32// Test with server
33{
34  const server = http2.createServer();
35  verifyCallbacks(server);
36}
37
38// Test with secure server
39{
40  const secureServer = http2.createSecureServer({});
41  verifyCallbacks(secureServer);
42}
43