blob: 31fcd8d175a3fdf2addbdfb321123e75e00b0522 [file] [log] [blame] [edit]
// Flags: --expose-internals --no-async-context-frame
'use strict';
const common = require('../common');
const { Readable, finished } = require('stream');
const { strictEqual } = require('assert');
const AsyncContextFrame = require('internal/async_context_frame');
const internalAsyncHooks = require('internal/async_hooks');
// This test verifies that when there are no active async hooks, stream.finished() uses the default callback path
const readable = new Readable();
finished(readable, common.mustCall(() => {
strictEqual(internalAsyncHooks.getHookArrays()[0].length === 0,
true, 'Should not have active user async hook');
strictEqual(AsyncContextFrame.current() || internalAsyncHooks.getHookArrays()[0].length > 0,
false, 'Default callback path should be used');
}));
readable.destroy();