| 'use strict'; |
| |
| const common = require('../common'); |
| if (!common.hasCrypto) |
| common.skip('missing crypto'); |
| |
| const assert = require('assert'); |
| const http2 = require('http2'); |
| |
| // Verify that setTimeout callback verifications work correctly |
| const verifyCallbacks = (server) => { |
| const testTimeout = 10; |
| const notFunctions = [true, 1, {}, [], null, 'test']; |
| const invalidCallBackError = { |
| type: TypeError, |
| code: 'ERR_INVALID_CALLBACK', |
| message: 'Callback must be a function' |
| }; |
| |
| notFunctions.forEach((notFunction) => |
| common.expectsError( |
| () => server.setTimeout(testTimeout, notFunction), |
| invalidCallBackError |
| ) |
| ); |
| |
| // No callback |
| const returnedVal = server.setTimeout(testTimeout); |
| assert.strictEqual(returnedVal.timeout, testTimeout); |
| }; |
| |
| // Test with server |
| { |
| const server = http2.createServer(); |
| verifyCallbacks(server); |
| } |
| |
| // Test with secure server |
| { |
| const secureServer = http2.createSecureServer({}); |
| verifyCallbacks(secureServer); |
| } |