summaryrefslogtreecommitdiff
path: root/test/async-hooks/test-embedder.api.async-resource-no-type.js
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2017-08-30 14:45:21 -0700
committerJames M Snell <jasnell@gmail.com>2017-09-15 09:06:13 -0700
commitd8a0364ad576f7a4a5b41a2367d8fd88a80b2832 (patch)
tree1e24ab0615bd74ae4c4abfdb45bf1d64e52fe3df /test/async-hooks/test-embedder.api.async-resource-no-type.js
parent8f52ccc828c26aee8fe78c82a8a23fabd21918b7 (diff)
downloadandroid-node-v8-d8a0364ad576f7a4a5b41a2367d8fd88a80b2832.tar.gz
android-node-v8-d8a0364ad576f7a4a5b41a2367d8fd88a80b2832.tar.bz2
android-node-v8-d8a0364ad576f7a4a5b41a2367d8fd88a80b2832.zip
async_hooks,doc: some async_hooks improvements
Update docs and type checking for AsyncResource type PR-URL: https://github.com/nodejs/node/pull/15103 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Andreas Madsen <amwebdk@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'test/async-hooks/test-embedder.api.async-resource-no-type.js')
-rw-r--r--test/async-hooks/test-embedder.api.async-resource-no-type.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/async-hooks/test-embedder.api.async-resource-no-type.js b/test/async-hooks/test-embedder.api.async-resource-no-type.js
new file mode 100644
index 0000000000..69b6667edb
--- /dev/null
+++ b/test/async-hooks/test-embedder.api.async-resource-no-type.js
@@ -0,0 +1,34 @@
+'use strict';
+
+const common = require('../common');
+const assert = require('assert');
+const async_hooks = require('async_hooks');
+const { AsyncResource } = async_hooks;
+const { spawn } = require('child_process');
+
+const initHooks = require('./init-hooks');
+
+if (process.argv[2] === 'child') {
+ initHooks().enable();
+
+ class Foo extends AsyncResource {
+ constructor(type) {
+ super(type, async_hooks.executionAsyncId());
+ }
+ }
+
+ [null, undefined, 1, Date, {}, []].forEach((i) => {
+ common.expectsError(() => new Foo(i), {
+ code: 'ERR_INVALID_ARG_TYPE',
+ type: TypeError
+ });
+ });
+
+} else {
+ const args = process.argv.slice(1).concat('child');
+ spawn(process.execPath, args)
+ .on('close', common.mustCall((code) => {
+ // No error because the type was defaulted
+ assert.strictEqual(code, 0);
+ }));
+}