test: increase test coverage for fs.promises read
PR-URL: https://github.com/nodejs/node/pull/22800 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Coe <bencoe@gmail.com> Reviewed-By: Yuta Hiroto <hello@hiroppy.me> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
This commit is contained in:
parent
0f78b9a26c
commit
27f3d9a649
@ -64,6 +64,13 @@ function verifyStatObject(stat) {
|
||||
assert.strictEqual(typeof stat.mode, 'number');
|
||||
}
|
||||
|
||||
async function getHandle(dest) {
|
||||
await copyFile(fixtures.path('baz.js'), dest);
|
||||
await access(dest, 'r');
|
||||
|
||||
return open(dest, 'r+');
|
||||
}
|
||||
|
||||
{
|
||||
async function doTest() {
|
||||
tmpdir.refresh();
|
||||
@ -93,6 +100,19 @@ function verifyStatObject(stat) {
|
||||
await handle.datasync();
|
||||
await handle.sync();
|
||||
|
||||
// test fs.read promises when length to read is zero bytes
|
||||
{
|
||||
const dest = path.resolve(tmpDir, 'test1.js');
|
||||
const handle = await getHandle(dest);
|
||||
const buf = Buffer.from('DAWGS WIN');
|
||||
const bufLen = buf.length;
|
||||
await handle.write(buf);
|
||||
const ret = await handle.read(Buffer.alloc(bufLen), 0, 0, 0);
|
||||
assert.strictEqual(ret.bytesRead, 0);
|
||||
|
||||
await unlink(dest);
|
||||
}
|
||||
|
||||
const buf = Buffer.from('hello fsPromises');
|
||||
const bufLen = buf.length;
|
||||
await handle.write(buf);
|
||||
@ -203,13 +223,22 @@ function verifyStatObject(stat) {
|
||||
|
||||
await unlink(newLink2);
|
||||
|
||||
const newdir = path.resolve(tmpDir, 'dir');
|
||||
await mkdir(newdir);
|
||||
stats = await stat(newdir);
|
||||
assert(stats.isDirectory());
|
||||
const list = await readdir(tmpDir);
|
||||
assert.deepStrictEqual(list, ['baz2.js', 'dir']);
|
||||
await rmdir(newdir);
|
||||
// testing readdir lists both files and directories
|
||||
{
|
||||
const newDir = path.resolve(tmpDir, 'dir');
|
||||
const newFile = path.resolve(tmpDir, 'foo.js');
|
||||
|
||||
await mkdir(newDir);
|
||||
await writeFile(newFile, 'DAWGS WIN!', 'utf8');
|
||||
|
||||
stats = await stat(newDir);
|
||||
assert(stats.isDirectory());
|
||||
const list = await readdir(tmpDir);
|
||||
assert.notStrictEqual(list.indexOf('dir'), -1);
|
||||
assert.notStrictEqual(list.indexOf('foo.js'), -1);
|
||||
await rmdir(newDir);
|
||||
await unlink(newFile);
|
||||
}
|
||||
|
||||
// mkdir when options is number.
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user