diff --git a/test/parallel/test-fs-write-stream-file-handle-2.js b/test/parallel/test-fs-write-stream-file-handle-2.js new file mode 100644 index 00000000000000..25f68b14da70b3 --- /dev/null +++ b/test/parallel/test-fs-write-stream-file-handle-2.js @@ -0,0 +1,33 @@ +'use strict'; +const common = require('../common'); +const fs = require('fs'); +const path = require('path'); +const assert = require('assert'); +const tmpdir = require('../common/tmpdir'); +const file = path.join(tmpdir.path, 'write_stream_filehandle_test.txt'); +const input = 'hello world'; + +tmpdir.refresh(); + +fs.promises.open(file, 'w+').then((handle) => { + let calls = 0; + const { + write: originalWriteFunction, + writev: originalWritevFunction + } = handle; + handle.write = function write() { + calls++; + return Reflect.apply(originalWriteFunction, this, arguments); + }; + handle.writev = function writev() { + calls++; + return Reflect.apply(originalWritevFunction, this, arguments); + }; + const stream = fs.createWriteStream(null, { fd: handle }); + + stream.end(input); + stream.on('close', common.mustCall(() => { + assert(calls > 0, 'expected at least one call to fileHandle.write or ' + + 'fileHandle.writev, got 0'); + })); +}).then(common.mustCall()); diff --git a/test/parallel/test-fs-write-stream-file-handle.js b/test/parallel/test-fs-write-stream-file-handle.js index 23ddf21c50f3f2..01c490ef5d0da1 100644 --- a/test/parallel/test-fs-write-stream-file-handle.js +++ b/test/parallel/test-fs-write-stream-file-handle.js @@ -19,26 +19,3 @@ fs.promises.open(file, 'w+').then((handle) => { assert.strictEqual(output, input); })); }).then(common.mustCall()); - -fs.promises.open(file, 'w+').then((handle) => { - let calls = 0; - const { - write: originalWriteFunction, - writev: originalWritevFunction - } = handle; - handle.write = function write() { - calls++; - return Reflect.apply(originalWriteFunction, this, arguments); - }; - handle.writev = function writev() { - calls++; - return Reflect.apply(originalWritevFunction, this, arguments); - }; - const stream = fs.createWriteStream(null, { fd: handle }); - - stream.end(input); - stream.on('close', common.mustCall(() => { - assert(calls > 0, 'expected at least one call to fileHandle.write or ' + - 'fileHandle.writev, got 0'); - })); -}).then(common.mustCall());