aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-fs-write-sync.js
diff options
context:
space:
mode:
authorAndreas Lind <andreas@one.com>2016-07-23 22:43:41 +0200
committerSam Roberts <vieuxtech@gmail.com>2016-11-08 09:48:41 -0800
commit0b5191f15d0f311c804d542b67e2e922d98834f8 (patch)
tree8dfd9acd815ec91d552fd8260c5c8ce927c41e98 /test/parallel/test-fs-write-sync.js
parent5d9d41597251f79a0c64a3c16957f638705f3db6 (diff)
downloadandroid-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.js63
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');
+}