node/test/parallel/test-file-write-stream4.js
Robert Nagy 7d5a86cc05 fs: do not emit 'close' twice if emitClose enabled
fs streams have some backwards compat behavior that does not
behave well if emitClose: true is passed in options. This
fixes this edge case until the backwards compat is removed.

PR-URL: https://github.com/nodejs/node/pull/31383
Fixes: https://github.com/nodejs/node/issues/31366
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-01-19 16:43:42 -08:00

22 lines
590 B
JavaScript

'use strict';
// Test that 'close' emits once and not twice when `emitClose: true` is set.
// Refs: https://github.com/nodejs/node/issues/31366
const common = require('../common');
const path = require('path');
const fs = require('fs');
const tmpdir = require('../common/tmpdir');
tmpdir.refresh();
const filepath = path.join(tmpdir.path, 'write_pos.txt');
const fileReadStream = fs.createReadStream(process.execPath);
const fileWriteStream = fs.createWriteStream(filepath, {
emitClose: true
});
fileReadStream.pipe(fileWriteStream);
fileWriteStream.on('close', common.mustCall());