summaryrefslogtreecommitdiff
path: root/tests/node_compat/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/node_compat/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js')
-rw-r--r--tests/node_compat/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/node_compat/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js b/tests/node_compat/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js
new file mode 100644
index 000000000..1160e6464
--- /dev/null
+++ b/tests/node_compat/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js
@@ -0,0 +1,36 @@
+// deno-fmt-ignore-file
+// deno-lint-ignore-file
+
+// Copyright Joyent and Node contributors. All rights reserved. MIT license.
+// Taken from Node 18.12.1
+// This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
+
+'use strict';
+
+const common = require('../common');
+const { AsyncLocalStorage } = require('async_hooks');
+const dc = require('diagnostics_channel');
+const assert = require('assert');
+
+const channel = dc.tracingChannel('test');
+const store = new AsyncLocalStorage();
+
+const firstContext = { foo: 'bar' };
+const secondContext = { baz: 'buz' };
+
+channel.start.bindStore(store, common.mustCall(() => {
+ return firstContext;
+}));
+
+channel.asyncStart.bindStore(store, common.mustCall(() => {
+ return secondContext;
+}));
+
+assert.strictEqual(store.getStore(), undefined);
+channel.traceCallback(common.mustCall((cb) => {
+ assert.deepStrictEqual(store.getStore(), firstContext);
+ setImmediate(cb);
+}), 0, {}, null, common.mustCall(() => {
+ assert.deepStrictEqual(store.getStore(), secondContext);
+}));
+assert.strictEqual(store.getStore(), undefined);