Files
node/test/parallel/test-stream-readable-aborted.js
Robert Nagy 4832d1c02c stream: add isDisturbed helper
Adds a helper util used to determine whether a stream has been
disturbed (read or cancelled).

Refs: https://github.com/nodejs/node/issues/39627

PR-URL: https://github.com/nodejs/node/pull/39628
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2021-08-06 07:45:38 +02:00

58 lines
1.3 KiB
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const { Readable } = require('stream');
{
const readable = new Readable({
read() {
}
});
assert.strictEqual(readable.readableAborted, false);
readable.destroy();
assert.strictEqual(readable.readableAborted, true);
}
{
const readable = new Readable({
read() {
}
});
assert.strictEqual(readable.readableAborted, false);
readable.push(null);
readable.destroy();
assert.strictEqual(readable.readableAborted, true);
}
{
const readable = new Readable({
read() {
}
});
assert.strictEqual(readable.readableAborted, false);
readable.push('asd');
readable.destroy();
assert.strictEqual(readable.readableAborted, true);
}
{
const readable = new Readable({
read() {
}
});
assert.strictEqual(readable.readableAborted, false);
readable.push('asd');
readable.push(null);
assert.strictEqual(readable.readableAborted, false);
readable.on('end', common.mustCall(() => {
assert.strictEqual(readable.readableAborted, false);
readable.destroy();
assert.strictEqual(readable.readableAborted, false);
queueMicrotask(() => {
assert.strictEqual(readable.readableAborted, false);
});
}));
readable.resume();
}