mirror of https://github.com/lukechilds/node.git
Browse Source
Improve http2 coverage through refactoring and tests PR-URL: https://github.com/nodejs/node/pull/15210 Reviewed-By: Matteo Collina <matteo.collina@gmail.com>canary-base
James M Snell
7 years ago
6 changed files with 196 additions and 68 deletions
@ -0,0 +1,45 @@ |
|||
// Flags: --expose-http2
|
|||
'use strict'; |
|||
|
|||
const common = require('../common'); |
|||
if (!common.hasCrypto) |
|||
common.skip('missing crypto'); |
|||
|
|||
const http2 = require('http2'); |
|||
|
|||
// Error if options are not passed to createSecureServer
|
|||
|
|||
common.expectsError( |
|||
() => http2.createSecureServer(), |
|||
{ |
|||
code: 'ERR_INVALID_ARG_TYPE', |
|||
type: TypeError |
|||
}); |
|||
|
|||
common.expectsError( |
|||
() => http2.createSecureServer(() => {}), |
|||
{ |
|||
code: 'ERR_INVALID_ARG_TYPE', |
|||
type: TypeError |
|||
}); |
|||
|
|||
common.expectsError( |
|||
() => http2.createSecureServer(1), |
|||
{ |
|||
code: 'ERR_INVALID_ARG_TYPE', |
|||
type: TypeError |
|||
}); |
|||
|
|||
common.expectsError( |
|||
() => http2.createSecureServer('test'), |
|||
{ |
|||
code: 'ERR_INVALID_ARG_TYPE', |
|||
type: TypeError |
|||
}); |
|||
|
|||
common.expectsError( |
|||
() => http2.createSecureServer(null), |
|||
{ |
|||
code: 'ERR_INVALID_ARG_TYPE', |
|||
type: TypeError |
|||
}); |
@ -0,0 +1,49 @@ |
|||
// Flags: --expose-internals
|
|||
'use strict'; |
|||
|
|||
const common = require('../common'); |
|||
if (!common.hasCrypto) |
|||
common.skip('missing crypto'); |
|||
const assert = require('assert'); |
|||
|
|||
const { |
|||
assertIsObject, |
|||
assertWithinRange, |
|||
sessionName |
|||
} = require('internal/http2/util'); |
|||
|
|||
// Code coverage for sessionName utility function
|
|||
assert.strictEqual(sessionName(0), 'server'); |
|||
assert.strictEqual(sessionName(1), 'client'); |
|||
[2, '', 'test', {}, [], true].forEach((i) => { |
|||
assert.strictEqual(sessionName(2), '<invalid>'); |
|||
}); |
|||
|
|||
// Code coverage for assertWithinRange function
|
|||
common.expectsError( |
|||
() => assertWithinRange('test', -1), |
|||
{ |
|||
code: 'ERR_HTTP2_INVALID_SETTING_VALUE', |
|||
type: RangeError, |
|||
message: 'Invalid value for setting "test": -1' |
|||
}); |
|||
|
|||
assertWithinRange('test', 1); |
|||
|
|||
common.expectsError( |
|||
() => assertIsObject('foo', 'test'), |
|||
{ |
|||
code: 'ERR_INVALID_ARG_TYPE', |
|||
type: TypeError, |
|||
message: 'The "test" argument must be of type object' |
|||
}); |
|||
|
|||
common.expectsError( |
|||
() => assertIsObject('foo', 'test', ['Date']), |
|||
{ |
|||
code: 'ERR_INVALID_ARG_TYPE', |
|||
type: TypeError, |
|||
message: 'The "test" argument must be of type Date' |
|||
}); |
|||
|
|||
assertIsObject({}, 'test'); |
@ -0,0 +1,42 @@ |
|||
// Flags: --expose-http2
|
|||
'use strict'; |
|||
|
|||
const common = require('../common'); |
|||
if (!common.hasCrypto) |
|||
common.skip('missing crypto'); |
|||
|
|||
const http2 = require('http2'); |
|||
|
|||
// Verify that setTimeout callback verifications work correctly
|
|||
|
|||
{ |
|||
const server = http2.createServer(); |
|||
common.expectsError( |
|||
() => server.setTimeout(10, 'test'), |
|||
{ |
|||
code: 'ERR_INVALID_CALLBACK', |
|||
type: TypeError |
|||
}); |
|||
common.expectsError( |
|||
() => server.setTimeout(10, 1), |
|||
{ |
|||
code: 'ERR_INVALID_CALLBACK', |
|||
type: TypeError |
|||
}); |
|||
} |
|||
|
|||
{ |
|||
const server = http2.createSecureServer({}); |
|||
common.expectsError( |
|||
() => server.setTimeout(10, 'test'), |
|||
{ |
|||
code: 'ERR_INVALID_CALLBACK', |
|||
type: TypeError |
|||
}); |
|||
common.expectsError( |
|||
() => server.setTimeout(10, 1), |
|||
{ |
|||
code: 'ERR_INVALID_CALLBACK', |
|||
type: TypeError |
|||
}); |
|||
} |
Loading…
Reference in new issue