mirror of
https://github.com/nodejs/node.git
synced 2025-05-01 08:42:45 +00:00

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>
22 lines
590 B
JavaScript
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());
|