'use strict';
const common = require('../common');
const assert = require('assert');
const fs = require('fs');
const tmpdir = require('../common/tmpdir');
const example = tmpdir.resolve('dummy');
tmpdir.refresh();
// Should not throw.
fs.createWriteStream(example, undefined).end();
fs.createWriteStream(example, null).end();
fs.createWriteStream(example, 'utf8').end();
fs.createWriteStream(example, { encoding: 'utf8' }).end();
const createWriteStreamErr = common.mustCall((path, opt) => {
assert.throws(
() => {
fs.createWriteStream(path, opt);
},
{
code: 'ERR_INVALID_ARG_TYPE',
name: 'TypeError'
});
}, 4);
createWriteStreamErr(example, 123);
createWriteStreamErr(example, 0);
createWriteStreamErr(example, true);
createWriteStreamErr(example, false);