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