From bf1727a3f3a09f6ae3189af61e75ade82cfa0b24 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Sat, 28 Sep 2019 09:48:33 +0200 Subject: [PATCH] test: add test for writable.write() argument types PR-URL: https://github.com/nodejs/node/pull/29746 Reviewed-By: Matteo Collina Reviewed-By: Rich Trott --- .../test-stream-writable-invalid-chunk.js | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 test/parallel/test-stream-writable-invalid-chunk.js diff --git a/test/parallel/test-stream-writable-invalid-chunk.js b/test/parallel/test-stream-writable-invalid-chunk.js new file mode 100644 index 00000000000000..09ee5877c8d00c --- /dev/null +++ b/test/parallel/test-stream-writable-invalid-chunk.js @@ -0,0 +1,35 @@ +'use strict'; + +const common = require('../common'); +const stream = require('stream'); + +function testWriteType(val, objectMode, code) { + const writable = new stream.Writable({ + objectMode, + write: () => {} + }); + if (!code) { + writable.on('error', common.mustNotCall()); + } else { + writable.on('error', common.expectsError({ + code: code, + })); + } + writable.write(val); +} + +testWriteType([], false, 'ERR_INVALID_ARG_TYPE'); +testWriteType({}, false, 'ERR_INVALID_ARG_TYPE'); +testWriteType(0, false, 'ERR_INVALID_ARG_TYPE'); +testWriteType(true, false, 'ERR_INVALID_ARG_TYPE'); +testWriteType(0.0, false, 'ERR_INVALID_ARG_TYPE'); +testWriteType(undefined, false, 'ERR_INVALID_ARG_TYPE'); +testWriteType(null, false, 'ERR_STREAM_NULL_VALUES'); + +testWriteType([], true); +testWriteType({}, true); +testWriteType(0, true); +testWriteType(true, true); +testWriteType(0.0, true); +testWriteType(undefined, true); +testWriteType(null, true, 'ERR_STREAM_NULL_VALUES');