|
| 1 | +'use strict'; |
| 2 | + |
| 3 | +const common = require('../common'); |
| 4 | +const tmpdir = require('../common/tmpdir'); |
| 5 | +const { strictEqual } = require('assert'); |
| 6 | +const fs = require('fs'); |
| 7 | + |
| 8 | +// Regression test for https://github.com/nodejs/node/issues/51993 |
| 9 | + |
| 10 | +tmpdir.refresh(); |
| 11 | + |
| 12 | +const file = tmpdir.resolve('test-fs-writestream-open-write.txt'); |
| 13 | + |
| 14 | +const w = fs.createWriteStream(file); |
| 15 | + |
| 16 | +w.on('open', common.mustCall(() => { |
| 17 | +w.write('hello'); |
| 18 | + |
| 19 | +process.nextTick(() => { |
| 20 | +w.write('world'); |
| 21 | +w.end(); |
| 22 | +}); |
| 23 | +})); |
| 24 | + |
| 25 | +w.on('close', common.mustCall(() => { |
| 26 | +strictEqual(fs.readFileSync(file, 'utf8'), 'helloworld'); |
| 27 | +fs.unlinkSync(file); |
| 28 | +})); |