1'use strict'; 2 3const common = require('../common'); 4const assert = require('assert'); 5const { Readable, Duplex } = require('stream'); 6 7{ 8 const readable = new Readable({ 9 read() { 10 } 11 }); 12 assert.strictEqual(readable.readableAborted, false); 13 readable.destroy(); 14 assert.strictEqual(readable.readableAborted, true); 15} 16 17{ 18 const readable = new Readable({ 19 read() { 20 } 21 }); 22 assert.strictEqual(readable.readableAborted, false); 23 readable.push(null); 24 readable.destroy(); 25 assert.strictEqual(readable.readableAborted, true); 26} 27 28{ 29 const readable = new Readable({ 30 read() { 31 } 32 }); 33 assert.strictEqual(readable.readableAborted, false); 34 readable.push('asd'); 35 readable.destroy(); 36 assert.strictEqual(readable.readableAborted, true); 37} 38 39{ 40 const readable = new Readable({ 41 read() { 42 } 43 }); 44 assert.strictEqual(readable.readableAborted, false); 45 readable.push('asd'); 46 readable.push(null); 47 assert.strictEqual(readable.readableAborted, false); 48 readable.on('end', common.mustCall(() => { 49 assert.strictEqual(readable.readableAborted, false); 50 readable.destroy(); 51 assert.strictEqual(readable.readableAborted, false); 52 queueMicrotask(() => { 53 assert.strictEqual(readable.readableAborted, false); 54 }); 55 })); 56 readable.resume(); 57} 58 59{ 60 const duplex = new Duplex({ 61 readable: false, 62 write() {} 63 }); 64 duplex.destroy(); 65 assert.strictEqual(duplex.readableAborted, false); 66} 67