deno.land / std@0.166.0 / node / _tools / test / parallel / test-stream-transform-destroy.js
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 18.12.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'use strict';
const common = require('../common');const { Transform } = require('stream');const assert = require('assert');
{ const transform = new Transform({ transform(chunk, enc, cb) {} });
transform.resume();
transform.on('end', common.mustNotCall()); transform.on('close', common.mustCall()); transform.on('finish', common.mustNotCall());
transform.destroy();}
{ const transform = new Transform({ transform(chunk, enc, cb) {} }); transform.resume();
const expected = new Error('kaboom');
transform.on('end', common.mustNotCall()); transform.on('finish', common.mustNotCall()); transform.on('close', common.mustCall()); transform.on('error', common.mustCall((err) => { assert.strictEqual(err, expected); }));
transform.destroy(expected);}
{ const transform = new Transform({ transform(chunk, enc, cb) {} });
transform._destroy = common.mustCall(function(err, cb) { assert.strictEqual(err, expected); cb(err); }, 1);
const expected = new Error('kaboom');
transform.on('finish', common.mustNotCall('no finish event')); transform.on('close', common.mustCall()); transform.on('error', common.mustCall((err) => { assert.strictEqual(err, expected); }));
transform.destroy(expected);}
{ const expected = new Error('kaboom'); const transform = new Transform({ transform(chunk, enc, cb) {}, destroy: common.mustCall(function(err, cb) { assert.strictEqual(err, expected); cb(); }, 1) }); transform.resume();
transform.on('end', common.mustNotCall('no end event')); transform.on('close', common.mustCall()); transform.on('finish', common.mustNotCall('no finish event'));
// Error is swallowed by the custom _destroy transform.on('error', common.mustNotCall('no error event'));
transform.destroy(expected);}
{ const transform = new Transform({ transform(chunk, enc, cb) {} });
transform._destroy = common.mustCall(function(err, cb) { assert.strictEqual(err, null); cb(); }, 1);
transform.destroy();}
{ const transform = new Transform({ transform(chunk, enc, cb) {} }); transform.resume();
transform._destroy = common.mustCall(function(err, cb) { assert.strictEqual(err, null); process.nextTick(() => { this.push(null); this.end(); cb(); }); }, 1);
const fail = common.mustNotCall('no event');
transform.on('finish', fail); transform.on('end', fail); transform.on('close', common.mustCall());
transform.destroy();
transform.removeListener('end', fail); transform.removeListener('finish', fail); transform.on('end', common.mustCall()); transform.on('finish', common.mustNotCall());}
{ const transform = new Transform({ transform(chunk, enc, cb) {} });
const expected = new Error('kaboom');
transform._destroy = common.mustCall(function(err, cb) { assert.strictEqual(err, null); cb(expected); }, 1);
transform.on('close', common.mustCall()); transform.on('finish', common.mustNotCall('no finish event')); transform.on('end', common.mustNotCall('no end event')); transform.on('error', common.mustCall((err) => { assert.strictEqual(err, expected); }));
transform.destroy();}
Version Info