diff options
Diffstat (limited to 'fs/ensure_dir_test.ts')
| -rw-r--r-- | fs/ensure_dir_test.ts | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/fs/ensure_dir_test.ts b/fs/ensure_dir_test.ts index 2e7936ae9..3426588b7 100644 --- a/fs/ensure_dir_test.ts +++ b/fs/ensure_dir_test.ts @@ -3,6 +3,7 @@ import { test } from "../testing/mod.ts"; import { assertThrows, assertThrowsAsync } from "../testing/asserts.ts"; import { ensureDir, ensureDirSync } from "./ensure_dir.ts"; import * as path from "./path/mod.ts"; +import { ensureFile, ensureFileSync } from "./ensure_file.ts"; const testdataDir = path.resolve("fs", "testdata"); @@ -27,10 +28,7 @@ test(function ensureDirSyncIfItNotExist() { ensureDirSync(testDir); - assertThrows(() => { - Deno.statSync(testDir); - throw new Error("test dir should exists."); - }); + Deno.statSync(testDir); Deno.removeSync(baseDir, { recursive: true }); }); @@ -69,3 +67,37 @@ test(function ensureDirSyncIfItExist() { Deno.removeSync(baseDir, { recursive: true }); }); + +test(async function ensureDirIfItAsFile() { + const baseDir = path.join(testdataDir, "ensure_dir_exist_file"); + const testFile = path.join(baseDir, "test"); + + await ensureFile(testFile); + + await assertThrowsAsync( + async () => { + await ensureDir(testFile); + }, + Error, + `Ensure path exists, expected 'dir', got 'file'` + ); + + await Deno.remove(baseDir, { recursive: true }); +}); + +test(function ensureDirSyncIfItAsFile() { + const baseDir = path.join(testdataDir, "ensure_dir_exist_file_async"); + const testFile = path.join(baseDir, "test"); + + ensureFileSync(testFile); + + assertThrows( + () => { + ensureDirSync(testFile); + }, + Error, + `Ensure path exists, expected 'dir', got 'file'` + ); + + Deno.removeSync(baseDir, { recursive: true }); +}); |
