summaryrefslogtreecommitdiff
path: root/fs/ensure_file_test.ts
diff options
context:
space:
mode:
authorAxetroy <troy450409405@gmail.com>2019-04-07 09:01:23 +0800
committerRyan Dahl <ry@tinyclouds.org>2019-04-07 04:01:23 +0300
commitd6f808958f414315a09b3429cf0c4b5c258f1012 (patch)
treed2d60398319ba1bcd3f11216b258d835941ef45f /fs/ensure_file_test.ts
parent9d1e24b67baf59d1d8b9bd1eb2a6c4135c6e7ca4 (diff)
fix: ensure exists file/dir must be the same type or it will throw error (denoland/deno_std#294)
Original: https://github.com/denoland/deno_std/commit/24f41f67bdbc9f426e3f9f03598a1010748d8200
Diffstat (limited to 'fs/ensure_file_test.ts')
-rw-r--r--fs/ensure_file_test.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/fs/ensure_file_test.ts b/fs/ensure_file_test.ts
index 2199e3605..fd3f4718a 100644
--- a/fs/ensure_file_test.ts
+++ b/fs/ensure_file_test.ts
@@ -69,3 +69,35 @@ test(function ensureFileSyncIfItExist() {
Deno.removeSync(testDir, { recursive: true });
});
+
+test(async function ensureFileIfItExistAsDir() {
+ const testDir = path.join(testdataDir, "ensure_file_5");
+
+ await Deno.mkdir(testDir, true);
+
+ await assertThrowsAsync(
+ async () => {
+ await ensureFile(testDir);
+ },
+ Error,
+ `Ensure path exists, expected 'file', got 'dir'`
+ );
+
+ await Deno.remove(testDir, { recursive: true });
+});
+
+test(function ensureFileSyncIfItExistAsDir() {
+ const testDir = path.join(testdataDir, "ensure_file_6");
+
+ Deno.mkdirSync(testDir, true);
+
+ assertThrows(
+ () => {
+ ensureFileSync(testDir);
+ },
+ Error,
+ `Ensure path exists, expected 'file', got 'dir'`
+ );
+
+ Deno.removeSync(testDir, { recursive: true });
+});