summaryrefslogtreecommitdiff
path: root/test/parallel/test-stream-transform-constructor-set-methods.js
blob: 3e1325c0fd1e27827cc134aff3cc1b3d46b791ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
'use strict';
const common = require('../common');
const assert = require('assert');

const Transform = require('stream').Transform;

const _transform = common.mustCall(function _transform(d, e, n) {
  n();
});

const _final = common.mustCall(function _final(n) {
  n();
});

const _flush = common.mustCall(function _flush(n) {
  n();
});

const t = new Transform({
  transform: _transform,
  flush: _flush,
  final: _final
});

const t2 = new Transform({});

t.end(Buffer.from('blerg'));
t.resume();

assert.throws(() => {
  t2.end(Buffer.from('blerg'));
}, /^Error: _transform\(\) is not implemented$/);


process.on('exit', () => {
  assert.strictEqual(t._transform, _transform);
  assert.strictEqual(t._flush, _flush);
  assert.strictEqual(t._final, _final);
});