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