From ea87034e2695f4b5d20e9e27392599bce36e6dd2 Mon Sep 17 00:00:00 2001 From: J2P Date: Thu, 4 Oct 2018 06:56:56 +0900 Subject: Implemented readDirSync, readDir --- js/read_dir_test.ts | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 js/read_dir_test.ts (limited to 'js/read_dir_test.ts') diff --git a/js/read_dir_test.ts b/js/read_dir_test.ts new file mode 100644 index 000000000..43430ed00 --- /dev/null +++ b/js/read_dir_test.ts @@ -0,0 +1,60 @@ +// Copyright 2018 the Deno authors. All rights reserved. MIT license. +import { test, testPerm, assert, assertEqual } from "./test_util.ts"; +import * as deno from "deno"; +import { FileInfo } from "deno"; + +function assertSameContent(files: FileInfo[]) { + let counter = 0; + + for (const file of files) { + if (file.name == "subdir") { + assert(file.isDirectory()); + counter++; + } + + if (file.name === "002_hello.ts") { + assertEqual(file.path, `tests/${file.name}`); + counter++; + } + } + + assertEqual(counter, 2); +} + +testPerm({ write: true }, function readDirSyncSuccess() { + const files = deno.readDirSync("tests/"); + assertSameContent(files); +}); + +test(function readDirSyncNotDir() { + let caughtError = false; + let src; + + try { + src = deno.readDirSync("package.json"); + } catch (err) { + caughtError = true; + assertEqual(err.kind, deno.ErrorKind.Other); + } + assert(caughtError); + assertEqual(src, undefined); +}); + +test(function readDirSyncNotFound() { + let caughtError = false; + let src; + + try { + src = deno.readDirSync("bad_dir_name"); + } catch (err) { + caughtError = true; + assertEqual(err.kind, deno.ErrorKind.NotFound); + } + assert(caughtError); + assertEqual(src, undefined); +}); + +testPerm({ write: true }, async function readDirSuccess() { + const files = await deno.readDir("tests/"); + assertSameContent(files); +}); -- cgit v1.2.3