aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTrivikram Kamat <trivikr.dev@gmail.com>2017-10-03 20:16:05 -0700
committerJames M Snell <jasnell@gmail.com>2017-10-15 21:36:37 -0700
commit0ce6be07dadc3e8b3d761d1e3128c68a5f70ed0a (patch)
tree15119cfe910d65f25ed1bc17704f3718fd9a7884 /test
parent006fdb2fe5d9d1681f25c44009242304740ce154 (diff)
downloadandroid-node-v8-0ce6be07dadc3e8b3d761d1e3128c68a5f70ed0a.tar.gz
android-node-v8-0ce6be07dadc3e8b3d761d1e3128c68a5f70ed0a.tar.bz2
android-node-v8-0ce6be07dadc3e8b3d761d1e3128c68a5f70ed0a.zip
test: http2 ERR_INVALID_ARG_TYPE tests
PR-URL: https://github.com/nodejs/node/pull/15766 Ref: https://github.com/nodejs/node/issues/14985 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-http2-createsecureserver-nooptions.js48
-rw-r--r--test/parallel/test-http2-invalidargtypes-errors.js43
2 files changed, 56 insertions, 35 deletions
diff --git a/test/parallel/test-http2-createsecureserver-nooptions.js b/test/parallel/test-http2-createsecureserver-nooptions.js
index 652a281506..05029cba2b 100644
--- a/test/parallel/test-http2-createsecureserver-nooptions.js
+++ b/test/parallel/test-http2-createsecureserver-nooptions.js
@@ -6,39 +6,17 @@ if (!common.hasCrypto)
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
- });
+const invalidOptions = [() => {}, 1, 'test', null, undefined];
+const invalidArgTypeError = {
+ type: TypeError,
+ code: 'ERR_INVALID_ARG_TYPE',
+ message: 'The "options" argument must be of type object'
+};
-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
- });
+// Error if options are not passed to createSecureServer
+invalidOptions.forEach((invalidOption) =>
+ common.expectsError(
+ () => http2.createSecureServer(invalidOption),
+ invalidArgTypeError
+ )
+);
diff --git a/test/parallel/test-http2-invalidargtypes-errors.js b/test/parallel/test-http2-invalidargtypes-errors.js
new file mode 100644
index 0000000000..93d161557c
--- /dev/null
+++ b/test/parallel/test-http2-invalidargtypes-errors.js
@@ -0,0 +1,43 @@
+'use strict';
+
+const common = require('../common');
+if (!common.hasCrypto)
+ common.skip('missing crypto');
+const http2 = require('http2');
+
+const server = http2.createServer();
+
+server.on(
+ 'stream',
+ common.mustCall((stream) => {
+ const invalidArgTypeError = (param, type) => ({
+ type: TypeError,
+ code: 'ERR_INVALID_ARG_TYPE',
+ message: `The "${param}" argument must be of type ${type}`
+ });
+ common.expectsError(
+ () => stream.session.priority(undefined, {}),
+ invalidArgTypeError('stream', 'Http2Stream')
+ );
+ common.expectsError(
+ () => stream.session.rstStream(undefined),
+ invalidArgTypeError('stream', 'Http2Stream')
+ );
+ common.expectsError(
+ () => stream.session.rstStream(stream, 'string'),
+ invalidArgTypeError('code', 'number')
+ );
+ stream.session.destroy();
+ })
+);
+
+server.listen(
+ 0,
+ common.mustCall(() => {
+ const client = http2.connect(`http://localhost:${server.address().port}`);
+ const req = client.request();
+ req.resume();
+ req.on('end', common.mustCall(() => server.close()));
+ req.end();
+ })
+);