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');
|
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() {
|
async function doTest() {
|
||||||
tmpdir.refresh();
|
tmpdir.refresh();
|
||||||
@ -93,6 +100,19 @@ function verifyStatObject(stat) {
|
|||||||
await handle.datasync();
|
await handle.datasync();
|
||||||
await handle.sync();
|
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 buf = Buffer.from('hello fsPromises');
|
||||||
const bufLen = buf.length;
|
const bufLen = buf.length;
|
||||||
await handle.write(buf);
|
await handle.write(buf);
|
||||||
@ -203,13 +223,22 @@ function verifyStatObject(stat) {
|
|||||||
|
|
||||||
await unlink(newLink2);
|
await unlink(newLink2);
|
||||||
|
|
||||||
const newdir = path.resolve(tmpDir, 'dir');
|
// testing readdir lists both files and directories
|
||||||
await mkdir(newdir);
|
{
|
||||||
stats = await stat(newdir);
|
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());
|
assert(stats.isDirectory());
|
||||||
const list = await readdir(tmpDir);
|
const list = await readdir(tmpDir);
|
||||||
assert.deepStrictEqual(list, ['baz2.js', 'dir']);
|
assert.notStrictEqual(list.indexOf('dir'), -1);
|
||||||
await rmdir(newdir);
|
assert.notStrictEqual(list.indexOf('foo.js'), -1);
|
||||||
|
await rmdir(newDir);
|
||||||
|
await unlink(newFile);
|
||||||
|
}
|
||||||
|
|
||||||
// mkdir when options is number.
|
// mkdir when options is number.
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user