diff options
author | Trivikram <16024985+trivikr@users.noreply.github.com> | 2018-02-17 20:35:01 -0800 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-02-22 12:09:26 +0100 |
commit | 20dae8540b4a6306d53ebd8fca88a9940c8e9c00 (patch) | |
tree | 77fcd57bfe5e6a9bd9ceec4f2d259d9cc919201d /test/parallel/test-http2-client-setNextStreamID-errors.js | |
parent | 3cb3618973bcf7817b55eb4fd96cc5fe7284cbd9 (diff) | |
download | android-node-v8-20dae8540b4a6306d53ebd8fca88a9940c8e9c00.tar.gz android-node-v8-20dae8540b4a6306d53ebd8fca88a9940c8e9c00.tar.bz2 android-node-v8-20dae8540b4a6306d53ebd8fca88a9940c8e9c00.zip |
test: http2 client setNextStreamID errors
PR-URL: https://github.com/nodejs/node/pull/18848
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-http2-client-setNextStreamID-errors.js')
-rw-r--r-- | test/parallel/test-http2-client-setNextStreamID-errors.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/test/parallel/test-http2-client-setNextStreamID-errors.js b/test/parallel/test-http2-client-setNextStreamID-errors.js new file mode 100644 index 0000000000..0c982061b8 --- /dev/null +++ b/test/parallel/test-http2-client-setNextStreamID-errors.js @@ -0,0 +1,59 @@ +'use strict'; + +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); + +const http2 = require('http2'); + +const server = http2.createServer(); +server.on('stream', (stream) => { + stream.respond(); + stream.end('ok'); +}); + +const types = { + boolean: true, + function: () => {}, + number: 1, + object: {}, + array: [], + null: null, + symbol: Symbol('test') +}; + +server.listen(0, common.mustCall(() => { + const client = http2.connect(`http://localhost:${server.address().port}`); + + client.on('connect', () => { + const outOfRangeNum = 2 ** 31; + common.expectsError( + () => client.setNextStreamID(outOfRangeNum), + { + type: RangeError, + code: 'ERR_OUT_OF_RANGE', + message: 'The value of "id" is out of range.' + + ' It must be > 0 and <= 2147483647. Received ' + outOfRangeNum + } + ); + + // should throw if something other than number is passed to setNextStreamID + Object.entries(types).forEach(([type, value]) => { + if (type === 'number') { + return; + } + + common.expectsError( + () => client.setNextStreamID(value), + { + type: TypeError, + code: 'ERR_INVALID_ARG_TYPE', + message: 'The "id" argument must be of type number' + } + ); + }); + + server.close(); + client.close(); + }); +})); |