| 'use strict'; |
| const common = require('../common'); |
| const net = require('net'); |
| const assert = require('assert'); |
| const socket = net.Stream({ highWaterMark: 0 }); |
| |
| // Make sure that anything besides a buffer or a string throws. |
| socket.on('error', common.mustNotCall()); |
| assert.throws(() => { |
| socket.write(null); |
| }, { |
| code: 'ERR_STREAM_NULL_VALUES', |
| name: 'TypeError', |
| message: 'May not write null values to stream' |
| }); |
| |
| [ |
| true, |
| false, |
| undefined, |
| 1, |
| 1.0, |
| +Infinity, |
| -Infinity, |
| [], |
| {}, |
| ].forEach((value) => { |
| const socket = net.Stream({ highWaterMark: 0 }); |
| // We need to check the callback since 'error' will only |
| // be emitted once per instance. |
| assert.throws(() => { |
| socket.write(value); |
| }, { |
| code: 'ERR_INVALID_ARG_TYPE', |
| name: 'TypeError', |
| message: 'The "chunk" argument must be of type string or an instance of ' + |
| `Buffer, TypedArray, or DataView.${common.invalidArgTypeHelper(value)}` |
| }); |
| }); |