diff options
Diffstat (limited to 'std/fs')
-rw-r--r-- | std/fs/empty_dir_test.ts | 210 | ||||
-rw-r--r-- | std/fs/exists_test.ts | 149 |
2 files changed, 177 insertions, 182 deletions
diff --git a/std/fs/empty_dir_test.ts b/std/fs/empty_dir_test.ts index 928ba80e6..8f9ca72c3 100644 --- a/std/fs/empty_dir_test.ts +++ b/std/fs/empty_dir_test.ts @@ -125,119 +125,119 @@ Deno.test(function emptyDirSyncIfItExist(): void { } }); -Deno.test(async function emptyDirPermission(): Promise<void> { - interface Scenes { - read: boolean; // --allow-read - write: boolean; // --allow-write - async: boolean; - output: string; +interface Scenes { + read: boolean; // --allow-read + write: boolean; // --allow-write + async: boolean; + output: string; +} +const scenes: Scenes[] = [ + // 1 + { + read: false, + write: false, + async: true, + output: "run again with the --allow-read flag" + }, + { + read: false, + write: false, + async: false, + output: "run again with the --allow-read flag" + }, + // 2 + { + read: true, + write: false, + async: true, + output: "run again with the --allow-write flag" + }, + { + read: true, + write: false, + async: false, + output: "run again with the --allow-write flag" + }, + // 3 + { + read: false, + write: true, + async: true, + output: "run again with the --allow-read flag" + }, + { + read: false, + write: true, + async: false, + output: "run again with the --allow-read flag" + }, + // 4 + { + read: true, + write: true, + async: true, + output: "success" + }, + { + read: true, + write: true, + async: false, + output: "success" } - - const testfolder = path.join(testdataDir, "testfolder"); - - await Deno.mkdir(testfolder); - - await Deno.writeFile( - path.join(testfolder, "child.txt"), - new TextEncoder().encode("hello world") - ); - - const scenes: Scenes[] = [ - // 1 - { - read: false, - write: false, - async: true, - output: "run again with the --allow-read flag" - }, - { - read: false, - write: false, - async: false, - output: "run again with the --allow-read flag" - }, - // 2 - { - read: true, - write: false, - async: true, - output: "run again with the --allow-write flag" - }, - { - read: true, - write: false, - async: false, - output: "run again with the --allow-write flag" - }, - // 3 - { - read: false, - write: true, - async: true, - output: "run again with the --allow-read flag" - }, - { - read: false, - write: true, - async: false, - output: "run again with the --allow-read flag" - }, - // 4 - { - read: true, - write: true, - async: true, - output: "success" - }, - { - read: true, - write: true, - async: false, - output: "success" - } - ]; - - try { - for (const s of scenes) { - console.log( - `test ${s.async ? "emptyDir" : "emptyDirSync"}("testdata/testfolder") ${ - s.read ? "with" : "without" - } --allow-read & ${s.write ? "with" : "without"} --allow-write` +]; +for (const s of scenes) { + let title = `test ${s.async ? "emptyDir" : "emptyDirSync"}`; + title += `("testdata/testfolder") ${s.read ? "with" : "without"}`; + title += ` --allow-read & ${s.write ? "with" : "without"} --allow-write`; + Deno.test(`[fs] emptyDirPermission ${title}`, async function(): Promise< + void + > { + const testfolder = path.join(testdataDir, "testfolder"); + + try { + await Deno.mkdir(testfolder); + + await Deno.writeFile( + path.join(testfolder, "child.txt"), + new TextEncoder().encode("hello world") ); - const args = [Deno.execPath(), "run"]; + try { + const args = [Deno.execPath(), "run"]; - if (s.read) { - args.push("--allow-read"); - } + if (s.read) { + args.push("--allow-read"); + } - if (s.write) { - args.push("--allow-write"); - } + if (s.write) { + args.push("--allow-write"); + } - args.push( - path.join(testdataDir, s.async ? "empty_dir.ts" : "empty_dir_sync.ts") - ); - args.push("testfolder"); + args.push( + path.join(testdataDir, s.async ? "empty_dir.ts" : "empty_dir_sync.ts") + ); + args.push("testfolder"); - const { stdout } = Deno.run({ - stdout: "piped", - cwd: testdataDir, - args: args - }); + const { stdout } = Deno.run({ + stdout: "piped", + cwd: testdataDir, + args: args + }); - assert(stdout); + assert(stdout); - const output = await Deno.readAll(stdout); + const output = await Deno.readAll(stdout); - assertStrContains(new TextDecoder().decode(output), s.output); + assertStrContains(new TextDecoder().decode(output), s.output); + } catch (err) { + await Deno.remove(testfolder, { recursive: true }); + throw err; + } + } finally { + // Make the test rerunnable + // Otherwise would throw error due to mkdir fail. + await Deno.remove(testfolder, { recursive: true }); + // done } - } catch (err) { - await Deno.remove(testfolder, { recursive: true }); - throw err; - } - // Make the test rerunnable - // Otherwise would throw error due to mkdir fail. - await Deno.remove(testfolder, { recursive: true }); - // done -}); + }); +} diff --git a/std/fs/exists_test.ts b/std/fs/exists_test.ts index 204799447..0a1293d96 100644 --- a/std/fs/exists_test.ts +++ b/std/fs/exists_test.ts @@ -5,7 +5,7 @@ import { exists, existsSync } from "./exists.ts"; const testdataDir = path.resolve("fs", "testdata"); -Deno.test(async function existsFile(): Promise<void> { +Deno.test("[fs] existsFile", async function(): Promise<void> { assertEquals( await exists(path.join(testdataDir, "not_exist_file.ts")), false @@ -13,12 +13,12 @@ Deno.test(async function existsFile(): Promise<void> { assertEquals(await existsSync(path.join(testdataDir, "0.ts")), true); }); -Deno.test(function existsFileSync(): void { +Deno.test("[fs] existsFileSync", function(): void { assertEquals(existsSync(path.join(testdataDir, "not_exist_file.ts")), false); assertEquals(existsSync(path.join(testdataDir, "0.ts")), true); }); -Deno.test(async function existsDirectory(): Promise<void> { +Deno.test("[fs] existsDirectory", async function(): Promise<void> { assertEquals( await exists(path.join(testdataDir, "not_exist_directory")), false @@ -26,7 +26,7 @@ Deno.test(async function existsDirectory(): Promise<void> { assertEquals(existsSync(testdataDir), true); }); -Deno.test(function existsDirectorySync(): void { +Deno.test("[fs] existsDirectorySync", function(): void { assertEquals( existsSync(path.join(testdataDir, "not_exist_directory")), false @@ -34,88 +34,84 @@ Deno.test(function existsDirectorySync(): void { assertEquals(existsSync(testdataDir), true); }); -Deno.test(function existsLinkSync(): void { +Deno.test("[fs] existsLinkSync", function(): void { // TODO(axetroy): generate link file use Deno api instead of set a link file // in repository assertEquals(existsSync(path.join(testdataDir, "0-link.ts")), true); }); -Deno.test(async function existsLink(): Promise<void> { +Deno.test("[fs] existsLink", async function(): Promise<void> { // TODO(axetroy): generate link file use Deno api instead of set a link file // in repository assertEquals(await exists(path.join(testdataDir, "0-link.ts")), true); }); -Deno.test(async function existsPermission(): Promise<void> { - interface Scenes { - read: boolean; // --allow-read - async: boolean; - output: string; - file: string; // target file to run +interface Scenes { + read: boolean; // --allow-read + async: boolean; + output: string; + file: string; // target file to run +} + +const scenes: Scenes[] = [ + // 1 + { + read: false, + async: true, + output: "run again with the --allow-read flag", + file: "0.ts" + }, + { + read: false, + async: false, + output: "run again with the --allow-read flag", + file: "0.ts" + }, + // 2 + { + read: true, + async: true, + output: "exist", + file: "0.ts" + }, + { + read: true, + async: false, + output: "exist", + file: "0.ts" + }, + // 3 + { + read: false, + async: true, + output: "run again with the --allow-read flag", + file: "no_exist_file_for_test.ts" + }, + { + read: false, + async: false, + output: "run again with the --allow-read flag", + file: "no_exist_file_for_test.ts" + }, + // 4 + { + read: true, + async: true, + output: "not exist", + file: "no_exist_file_for_test.ts" + }, + { + read: true, + async: false, + output: "not exist", + file: "no_exist_file_for_test.ts" } +]; - const scenes: Scenes[] = [ - // 1 - { - read: false, - async: true, - output: "run again with the --allow-read flag", - file: "0.ts" - }, - { - read: false, - async: false, - output: "run again with the --allow-read flag", - file: "0.ts" - }, - // 2 - { - read: true, - async: true, - output: "exist", - file: "0.ts" - }, - { - read: true, - async: false, - output: "exist", - file: "0.ts" - }, - // 3 - { - read: false, - async: true, - output: "run again with the --allow-read flag", - file: "no_exist_file_for_test.ts" - }, - { - read: false, - async: false, - output: "run again with the --allow-read flag", - file: "no_exist_file_for_test.ts" - }, - // 4 - { - read: true, - async: true, - output: "not exist", - file: "no_exist_file_for_test.ts" - }, - { - read: true, - async: false, - output: "not exist", - file: "no_exist_file_for_test.ts" - } - ]; - - for (const s of scenes) { - console.log( - `test ${s.async ? "exists" : "existsSync"}("testdata/${s.file}") ${ - s.read ? "with" : "without" - } --allow-read` - ); - +for (const s of scenes) { + let title = `test ${s.async ? "exists" : "existsSync"}("testdata/${s.file}")`; + title += ` ${s.read ? "with" : "without"} --allow-read`; + Deno.test(`[fs] existsPermission ${title}`, async function(): Promise<void> { const args = [Deno.execPath(), "run"]; if (s.read) { @@ -134,7 +130,6 @@ Deno.test(async function existsPermission(): Promise<void> { const output = await Deno.readAll(stdout!); assertStrContains(new TextDecoder().decode(output), s.output); - } - + }); // done -}); +} |