| 'use strict'; |
| const common = require('../common'); |
| |
| const assert = require('assert'); |
| const { Transform } = require('stream'); |
| |
| const t = new Transform(); |
| |
| assert.throws( |
| () => { |
| t.end(Buffer.from('blerg')); |
| }, |
| { |
| name: 'Error', |
| code: 'ERR_METHOD_NOT_IMPLEMENTED', |
| message: 'The _transform() method is not implemented' |
| } |
| ); |
| |
| const _transform = common.mustCall((chunk, _, next) => { |
| next(); |
| }); |
| |
| const _final = common.mustCall((next) => { |
| next(); |
| }); |
| |
| const _flush = common.mustCall((next) => { |
| next(); |
| }); |
| |
| const t2 = new Transform({ |
| transform: _transform, |
| flush: _flush, |
| final: _final |
| }); |
| |
| assert.strictEqual(t2._transform, _transform); |
| assert.strictEqual(t2._flush, _flush); |
| assert.strictEqual(t2._final, _final); |
| |
| t2.end(Buffer.from('blerg')); |
| t2.resume(); |