summaryrefslogtreecommitdiff
path: root/test/parallel/test-child-process-send-type-error.js
blob: 9c3a502a49a257b3448f07233fdf6f2c0928e526 (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
'use strict';
const common = require('../common');

const assert = require('assert');
const cp = require('child_process');

function fail(proc, args) {
  common.expectsError(() => {
    proc.send.apply(proc, args);
  }, { code: 'ERR_INVALID_ARG_TYPE', type: TypeError });
}

let target = process;

if (process.argv[2] !== 'child') {
  target = cp.fork(__filename, ['child']);
  target.on('exit', common.mustCall((code, signal) => {
    assert.strictEqual(code, 0);
    assert.strictEqual(signal, null);
  }));
}

fail(target, ['msg', null, null]);
fail(target, ['msg', null, '']);
fail(target, ['msg', null, 'foo']);
fail(target, ['msg', null, 0]);
fail(target, ['msg', null, NaN]);
fail(target, ['msg', null, 1]);
fail(target, ['msg', null, null, common.mustNotCall()]);