// 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 `tools/node_compat/setup.ts`. Do not modify this file manually. 'use strict'; const common = require('../common'); // This test ensures that Readable stream will continue to call _read // for streams with highWaterMark === 0 once the stream returns data // by calling push() asynchronously. const { Readable } = require('stream'); let count = 5; const r = new Readable({ // Called 6 times: First 5 return data, last one signals end of stream. read: common.mustCall(() => { process.nextTick(common.mustCall(() => { if (count--) r.push('a'); else r.push(null); })); }, 6), highWaterMark: 0, }); r.on('end', common.mustCall()); r.on('data', common.mustCall(5));