diff options
author | Andreas Lind <andreas@one.com> | 2016-07-23 22:43:41 +0200 |
---|---|---|
committer | Sam Roberts <vieuxtech@gmail.com> | 2016-11-08 09:48:41 -0800 |
commit | 0b5191f15d0f311c804d542b67e2e922d98834f8 (patch) | |
tree | 8dfd9acd815ec91d552fd8260c5c8ce927c41e98 /test/parallel/test-fs-write-sync.js | |
parent | 5d9d41597251f79a0c64a3c16957f638705f3db6 (diff) | |
download | android-node-v8-0b5191f15d0f311c804d542b67e2e922d98834f8.tar.gz android-node-v8-0b5191f15d0f311c804d542b67e2e922d98834f8.tar.bz2 android-node-v8-0b5191f15d0f311c804d542b67e2e922d98834f8.zip |
fs: Fix default params for fs.write(Sync)
Add support for fs.write(fd, buffer, cb) and fs.write(fd, buffer, offset, cb)
as documented at
https://nodejs.org/api/fs.html#fs_fs_write_fd_data_position_encoding_callback
and equivalently for fs.writeSync
Update docs and code comments to reflect the implementation.
PR-URL: https://github.com/nodejs/node/pull/7856
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Yorkie Liu <yorkiefixer@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'test/parallel/test-fs-write-sync.js')
-rw-r--r-- | test/parallel/test-fs-write-sync.js | 63 |
1 files changed, 48 insertions, 15 deletions
diff --git a/test/parallel/test-fs-write-sync.js b/test/parallel/test-fs-write-sync.js index 12f34f81d8..f663d4a5bf 100644 --- a/test/parallel/test-fs-write-sync.js +++ b/test/parallel/test-fs-write-sync.js @@ -1,23 +1,56 @@ 'use strict'; -var common = require('../common'); -var assert = require('assert'); -var path = require('path'); -var fs = require('fs'); -var fn = path.join(common.tmpDir, 'write.txt'); +const common = require('../common'); +const assert = require('assert'); +const path = require('path'); +const fs = require('fs'); +const filename = path.join(common.tmpDir, 'write.txt'); common.refreshTmpDir(); -var foo = 'foo'; -var fd = fs.openSync(fn, 'w'); +// fs.writeSync with all parameters provided: +{ + const fd = fs.openSync(filename, 'w'); -var written = fs.writeSync(fd, ''); -assert.strictEqual(0, written); + let written = fs.writeSync(fd, ''); + assert.strictEqual(0, written); -fs.writeSync(fd, foo); + fs.writeSync(fd, 'foo'); -var bar = 'bár'; -written = fs.writeSync(fd, Buffer.from(bar), 0, Buffer.byteLength(bar)); -assert.ok(written > 3); -fs.closeSync(fd); + written = fs.writeSync(fd, Buffer.from('bár'), 0, Buffer.byteLength('bár')); + assert.ok(written > 3); + fs.closeSync(fd); -assert.equal(fs.readFileSync(fn), 'foobár'); + assert.strictEqual(fs.readFileSync(filename, 'utf-8'), 'foobár'); +} + +// fs.writeSync with a buffer, without the length parameter: +{ + const fd = fs.openSync(filename, 'w'); + + let written = fs.writeSync(fd, ''); + assert.strictEqual(0, written); + + fs.writeSync(fd, 'foo'); + + written = fs.writeSync(fd, Buffer.from('bár'), 0); + assert.ok(written > 3); + fs.closeSync(fd); + + assert.strictEqual(fs.readFileSync(filename, 'utf-8'), 'foobár'); +} + +// fs.writeSync with a buffer, without the offset and length parameters: +{ + const fd = fs.openSync(filename, 'w'); + + let written = fs.writeSync(fd, ''); + assert.strictEqual(0, written); + + fs.writeSync(fd, 'foo'); + + written = fs.writeSync(fd, Buffer.from('bár')); + assert.ok(written > 3); + fs.closeSync(fd); + + assert.strictEqual(fs.readFileSync(filename, 'utf-8'), 'foobár'); +} |