// deno-fmt-ignore-file // deno-lint-ignore-file // Copyright Joyent and Node contributors. All rights reserved. MIT license. // Taken from Node 20.11.1 // This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually. 'use strict'; require('../common'); const assert = require('assert'); const vm = require('vm'); const { AsyncLocalStorage } = require('async_hooks'); // Regression test for https://github.com/nodejs/node/issues/38781 const context = vm.createContext({ AsyncLocalStorage, assert }); vm.runInContext(` const storage = new AsyncLocalStorage() async function test() { return storage.run({ test: 'vm' }, async () => { assert.strictEqual(storage.getStore().test, 'vm'); await 42; assert.strictEqual(storage.getStore().test, 'vm'); }); } test() `, context); const storage = new AsyncLocalStorage(); async function test() { return storage.run({ test: 'main context' }, async () => { assert.strictEqual(storage.getStore().test, 'main context'); await 42; assert.strictEqual(storage.getStore().test, 'main context'); }); } test();