Browse Source

fs: don't conflate data and callback in appendFile

PR-URL: https://github.com/nodejs/node/pull/11607
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
v6
Nikolai Vavilov 8 years ago
parent
commit
208db5675e
  1. 2
      lib/fs.js
  2. 7
      test/parallel/test-fs-append-file.js

2
lib/fs.js

@ -1320,7 +1320,7 @@ fs.writeFileSync = function(path, data, options) {
}; };
fs.appendFile = function(path, data, options, callback) { fs.appendFile = function(path, data, options, callback) {
callback = maybeCallback(arguments[arguments.length - 1]); callback = maybeCallback(callback || options);
options = getOptions(options, { encoding: 'utf8', mode: 0o666, flag: 'a' }); options = getOptions(options, { encoding: 'utf8', mode: 0o666, flag: 'a' });
// Don't make changes directly on options object // Don't make changes directly on options object

7
test/parallel/test-fs-append-file.js

@ -144,6 +144,13 @@ fs.open(filename5, 'a+', function(e, fd) {
}); });
}); });
// test that a missing callback emits a warning, even if the last argument is a
// function.
const filename6 = join(common.tmpDir, 'append6.txt');
const warn = 'Calling an asynchronous function without callback is deprecated.';
common.expectWarning('DeprecationWarning', warn);
fs.appendFile(filename6, console.log);
process.on('exit', function() { process.on('exit', function() {
assert.strictEqual(12, ncallbacks); assert.strictEqual(12, ncallbacks);

Loading…
Cancel
Save