mirror of
https://github.com/denoland/deno.git
synced 2025-10-02 23:24:37 +00:00
refactor(cli/js/ops/fs): Improve readdir() and FileInfo interfaces (#4763)
This commit is contained in:
parent
6441852a1d
commit
5ac728a5f1
33 changed files with 312 additions and 360 deletions
|
@ -1,14 +1,12 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
import { unitTest, assert, assertEquals } from "./test_util.ts";
|
||||
|
||||
type FileInfo = Deno.FileInfo;
|
||||
|
||||
function assertSameContent(files: FileInfo[]): void {
|
||||
function assertSameContent(files: Deno.DirEntry[]): void {
|
||||
let counter = 0;
|
||||
|
||||
for (const file of files) {
|
||||
if (file.name === "subdir") {
|
||||
assert(file.isDirectory());
|
||||
assert(file.isDirectory);
|
||||
counter++;
|
||||
}
|
||||
|
||||
|
@ -22,7 +20,7 @@ function assertSameContent(files: FileInfo[]): void {
|
|||
}
|
||||
|
||||
unitTest({ perms: { read: true } }, function readdirSyncSuccess(): void {
|
||||
const files = Deno.readdirSync("cli/tests/");
|
||||
const files = [...Deno.readdirSync("cli/tests/")];
|
||||
assertSameContent(files);
|
||||
});
|
||||
|
||||
|
@ -68,7 +66,10 @@ unitTest({ perms: { read: true } }, function readdirSyncNotFound(): void {
|
|||
unitTest({ perms: { read: true } }, async function readdirSuccess(): Promise<
|
||||
void
|
||||
> {
|
||||
const files = await Deno.readdir("cli/tests/");
|
||||
const files = [];
|
||||
for await (const dirEntry of Deno.readdir("cli/tests/")) {
|
||||
files.push(dirEntry);
|
||||
}
|
||||
assertSameContent(files);
|
||||
});
|
||||
|
||||
|
@ -77,7 +78,7 @@ unitTest({ perms: { read: false } }, async function readdirPerm(): Promise<
|
|||
> {
|
||||
let caughtError = false;
|
||||
try {
|
||||
await Deno.readdir("tests/");
|
||||
await Deno.readdir("tests/")[Symbol.asyncIterator]().next();
|
||||
} catch (e) {
|
||||
caughtError = true;
|
||||
assert(e instanceof Deno.errors.PermissionDenied);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue