Skip to content

Commit

Permalink
lib: fix readFile flag option typo
Browse files Browse the repository at this point in the history
PR-URL: #35292
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Masashi Hirano <shisama07@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Zeyu Yang <himself65@outlook.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
  • Loading branch information
Daniil Demidovich authored and MylesBorins committed Oct 14, 2020
1 parent 9288f9d commit cd0b136
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/fs.js
Expand Up @@ -322,7 +322,7 @@ function readFile(path, options, callback) {
return;
}

const flagsNumber = stringToFlags(options.flags);
const flagsNumber = stringToFlags(options.flag);
path = getValidatedPath(path);

const req = new FSReqCallback();
Expand Down
51 changes: 51 additions & 0 deletions test/parallel/test-fs-readfile-flags.js
@@ -0,0 +1,51 @@
'use strict';

// Test of fs.readFile with different flags.
const common = require('../common');
const fs = require('fs');
const assert = require('assert');
const path = require('path');
const tmpdir = require('../common/tmpdir');

tmpdir.refresh();

{
const emptyFile = path.join(tmpdir.path, 'empty.txt');
fs.closeSync(fs.openSync(emptyFile, 'w'));

fs.readFile(
emptyFile,
// With `a+` the file is created if it does not exist
{ encoding: 'utf8', flag: 'a+' },
common.mustCall((err, data) => { assert.strictEqual(data, ''); })
);

fs.readFile(
emptyFile,
// Like `a+` but fails if the path exists.
{ encoding: 'utf8', flag: 'ax+' },
common.mustCall((err, data) => { assert.strictEqual(err.code, 'EEXIST'); })
);
}

{
const willBeCreated = path.join(tmpdir.path, 'will-be-created');

fs.readFile(
willBeCreated,
// With `a+` the file is created if it does not exist
{ encoding: 'utf8', flag: 'a+' },
common.mustCall((err, data) => { assert.strictEqual(data, ''); })
);
}

{
const willNotBeCreated = path.join(tmpdir.path, 'will-not-be-created');

fs.readFile(
willNotBeCreated,
// Default flag is `r`. An exception occurs if the file does not exist.
{ encoding: 'utf8' },
common.mustCall((err, data) => { assert.strictEqual(err.code, 'ENOENT'); })
);
}

0 comments on commit cd0b136

Please sign in to comment.