1// Flags: --expose-internals
2'use strict';
3
4const common = require('../common');
5const { internalBinding } = require('internal/test/binding');
6const providers = internalBinding('async_wrap').Providers;
7const assert = require('assert');
8const { asyncWrapProviders } = require('async_hooks');
9
10assert.ok(typeof asyncWrapProviders === 'object');
11assert.deepStrictEqual(asyncWrapProviders, { __proto__: null, ...providers });
12
13const providerKeys = Object.keys(asyncWrapProviders);
14assert.throws(() => {
15  asyncWrapProviders[providerKeys[0]] = 'another value';
16}, common.expectsError({
17  name: 'TypeError',
18}), 'should not allow modify asyncWrap providers');
19