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'); 9 10// Verify that setTimeout callback verifications work correctly 11const verifyCallbacks = (server) => { 12 const testTimeout = 10; 13 14 [true, 1, {}, [], null, 'test'].forEach((notFunction) => { 15 assert.throws( 16 () => server.setTimeout(testTimeout, notFunction), 17 { 18 name: 'TypeError', 19 code: 'ERR_INVALID_ARG_TYPE', 20 } 21 ); 22 }); 23 24 // No callback 25 const returnedVal = server.setTimeout(testTimeout); 26 assert.strictEqual(returnedVal.timeout, testTimeout); 27}; 28 29// Test with server 30{ 31 const server = http2.createServer(); 32 verifyCallbacks(server); 33} 34 35// Test with secure server 36{ 37 const secureServer = http2.createSecureServer({}); 38 verifyCallbacks(secureServer); 39} 40