| // Flags: --expose-internals |
| 'use strict'; |
| |
| const common = require('../common'); |
| const { internalBinding } = require('internal/test/binding'); |
| const providers = internalBinding('async_wrap').Providers; |
| const assert = require('assert'); |
| const { asyncWrapProviders } = require('async_hooks'); |
| |
| assert.ok(typeof asyncWrapProviders === 'object'); |
| assert.deepStrictEqual(asyncWrapProviders, { __proto__: null, ...providers }); |
| |
| const providerKeys = Object.keys(asyncWrapProviders); |
| assert.throws(() => { |
| asyncWrapProviders[providerKeys[0]] = 'another value'; |
| }, common.expectsError({ |
| name: 'TypeError', |
| }), 'should not allow modify asyncWrap providers'); |