Skip to main content
Go to Latest
File
// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 16.13.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'use strict';const common = require('../common');
// Testing Readable Stream resumeScheduled state
const assert = require('assert');const { Readable, Writable } = require('stream');
{ // pipe() test case const r = new Readable({ read() {} }); const w = new Writable();
// resumeScheduled should start = `false`. assert.strictEqual(r._readableState.resumeScheduled, false);
// Calling pipe() should change the state value = true. r.pipe(w); assert.strictEqual(r._readableState.resumeScheduled, true);
process.nextTick(common.mustCall(() => { assert.strictEqual(r._readableState.resumeScheduled, false); }));}
{ // 'data' listener test case const r = new Readable({ read() {} });
// resumeScheduled should start = `false`. assert.strictEqual(r._readableState.resumeScheduled, false);
r.push(Buffer.from([1, 2, 3]));
// Adding 'data' listener should change the state value r.on('data', common.mustCall(() => { assert.strictEqual(r._readableState.resumeScheduled, false); })); assert.strictEqual(r._readableState.resumeScheduled, true);
process.nextTick(common.mustCall(() => { assert.strictEqual(r._readableState.resumeScheduled, false); }));}
{ // resume() test case const r = new Readable({ read() {} });
// resumeScheduled should start = `false`. assert.strictEqual(r._readableState.resumeScheduled, false);
// Calling resume() should change the state value. r.resume(); assert.strictEqual(r._readableState.resumeScheduled, true);
r.on('resume', common.mustCall(() => { // The state value should be `false` again assert.strictEqual(r._readableState.resumeScheduled, false); }));
process.nextTick(common.mustCall(() => { assert.strictEqual(r._readableState.resumeScheduled, false); }));}