• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common');
4const stream = require('stream');
5const assert = require('assert');
6
7function testWriteType(val, objectMode, code) {
8  const writable = new stream.Writable({
9    objectMode,
10    write: () => {}
11  });
12  writable.on('error', common.mustNotCall());
13  if (code) {
14    assert.throws(() => {
15      writable.write(val);
16    }, { code });
17  } else {
18    writable.write(val);
19  }
20}
21
22testWriteType([], false, 'ERR_INVALID_ARG_TYPE');
23testWriteType({}, false, 'ERR_INVALID_ARG_TYPE');
24testWriteType(0, false, 'ERR_INVALID_ARG_TYPE');
25testWriteType(true, false, 'ERR_INVALID_ARG_TYPE');
26testWriteType(0.0, false, 'ERR_INVALID_ARG_TYPE');
27testWriteType(undefined, false, 'ERR_INVALID_ARG_TYPE');
28testWriteType(null, false, 'ERR_STREAM_NULL_VALUES');
29
30testWriteType([], true);
31testWriteType({}, true);
32testWriteType(0, true);
33testWriteType(true, true);
34testWriteType(0.0, true);
35testWriteType(undefined, true);
36testWriteType(null, true, 'ERR_STREAM_NULL_VALUES');
37