summaryrefslogtreecommitdiff
path: root/cli/tests/unit/remove_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/remove_test.ts')
-rw-r--r--cli/tests/unit/remove_test.ts148
1 files changed, 44 insertions, 104 deletions
diff --git a/cli/tests/unit/remove_test.ts b/cli/tests/unit/remove_test.ts
index 94fbba682..42160af5c 100644
--- a/cli/tests/unit/remove_test.ts
+++ b/cli/tests/unit/remove_test.ts
@@ -1,5 +1,10 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
-import { unitTest, assert, assertEquals } from "./test_util.ts";
+import {
+ unitTest,
+ assert,
+ assertThrows,
+ assertThrowsAsync,
+} from "./test_util.ts";
const REMOVE_METHODS = ["remove", "removeSync"] as const;
@@ -14,14 +19,9 @@ unitTest(
assert(pathInfo.isDirectory); // check exist first
await Deno[method](path); // remove
// We then check again after remove
- let err;
- try {
+ assertThrows(() => {
Deno.statSync(path);
- } catch (e) {
- err = e;
- }
- // Directory is gone
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
}
);
@@ -39,14 +39,9 @@ unitTest(
assert(fileInfo.isFile); // check exist first
await Deno[method](filename); // remove
// We then check again after remove
- let err;
- try {
+ assertThrows(() => {
Deno.statSync(filename);
- } catch (e) {
- err = e;
- }
- // File is gone
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
}
);
@@ -69,14 +64,9 @@ unitTest(
assert(fileInfo.isFile); // check exist first
await Deno[method](fileUrl); // remove
// We then check again after remove
- let err;
- try {
+ assertThrows(() => {
Deno.statSync(fileUrl);
- } catch (e) {
- err = e;
- }
- // File is gone
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
}
);
@@ -94,23 +84,16 @@ unitTest(
assert(pathInfo.isDirectory); // check exist first
const subPathInfo = Deno.statSync(subPath);
assert(subPathInfo.isDirectory); // check exist first
- let err;
- try {
- // Should not be able to recursively remove
+
+ await assertThrowsAsync(async () => {
await Deno[method](path);
- } catch (e) {
- err = e;
- }
+ }, Error);
// TODO(ry) Is Other really the error we should get here? What would Go do?
- assert(err instanceof Error);
+
// NON-EXISTENT DIRECTORY/FILE
- try {
- // Non-existent
+ await assertThrowsAsync(async () => {
await Deno[method]("/baddir");
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
}
);
@@ -130,13 +113,9 @@ unitTest(
const pathInfo = Deno.lstatSync(danglingSymlinkPath);
assert(pathInfo.isSymlink);
await Deno[method](danglingSymlinkPath);
- let err;
- try {
+ assertThrows(() => {
Deno.lstatSync(danglingSymlinkPath);
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
}
);
@@ -159,14 +138,10 @@ unitTest(
const symlinkPathInfo = Deno.statSync(validSymlinkPath);
assert(symlinkPathInfo.isFile);
await Deno[method](validSymlinkPath);
- let err;
- try {
+ assertThrows(() => {
Deno.statSync(validSymlinkPath);
- } catch (e) {
- err = e;
- }
+ }, Deno.errors.NotFound);
await Deno[method](filePath);
- assert(err instanceof Deno.errors.NotFound);
}
}
);
@@ -175,14 +150,9 @@ unitTest({ perms: { write: false } }, async function removePerm(): Promise<
void
> {
for (const method of REMOVE_METHODS) {
- let err;
- try {
+ await assertThrowsAsync(async () => {
await Deno[method]("/baddir");
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.PermissionDenied);
- assertEquals(err.name, "PermissionDenied");
+ }, Deno.errors.PermissionDenied);
}
});
@@ -197,14 +167,12 @@ unitTest(
assert(pathInfo.isDirectory); // check exist first
await Deno[method](path, { recursive: true }); // remove
// We then check again after remove
- let err;
- try {
- Deno.statSync(path);
- } catch (e) {
- err = e;
- }
- // Directory is gone
- assert(err instanceof Deno.errors.NotFound);
+ assertThrows(
+ () => {
+ Deno.statSync(path);
+ }, // Directory is gone
+ Deno.errors.NotFound
+ );
// REMOVE NON-EMPTY DIRECTORY
path = Deno.makeTempDirSync() + "/dir/subdir";
@@ -217,13 +185,10 @@ unitTest(
assert(subPathInfo.isDirectory); // check exist first
await Deno[method](path, { recursive: true }); // remove
// We then check parent directory again after remove
- try {
+ assertThrows(() => {
Deno.statSync(path);
- } catch (e) {
- err = e;
- }
+ }, Deno.errors.NotFound);
// Directory is gone
- assert(err instanceof Deno.errors.NotFound);
}
}
);
@@ -241,14 +206,10 @@ unitTest(
assert(fileInfo.isFile); // check exist first
await Deno[method](filename, { recursive: true }); // remove
// We then check again after remove
- let err;
- try {
+ assertThrows(() => {
Deno.statSync(filename);
- } catch (e) {
- err = e;
- }
+ }, Deno.errors.NotFound);
// File is gone
- assert(err instanceof Deno.errors.NotFound);
}
}
);
@@ -258,14 +219,10 @@ unitTest({ perms: { write: true } }, async function removeAllFail(): Promise<
> {
for (const method of REMOVE_METHODS) {
// NON-EXISTENT DIRECTORY/FILE
- let err;
- try {
+ await assertThrowsAsync(async () => {
// Non-existent
await Deno[method]("/baddir", { recursive: true });
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
});
@@ -273,14 +230,9 @@ unitTest({ perms: { write: false } }, async function removeAllPerm(): Promise<
void
> {
for (const method of REMOVE_METHODS) {
- let err;
- try {
+ await assertThrowsAsync(async () => {
await Deno[method]("/baddir", { recursive: true });
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.PermissionDenied);
- assertEquals(err.name, "PermissionDenied");
+ }, Deno.errors.PermissionDenied);
}
});
@@ -298,13 +250,9 @@ unitTest(
Deno.statSync(path); // check if unix socket exists
await Deno[method](path);
- let err;
- try {
+ assertThrows(() => {
Deno.statSync(path);
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
}
);
@@ -321,13 +269,9 @@ if (Deno.build.os === "windows") {
assert(await symlink.status());
symlink.close();
await Deno.remove("file_link");
- let err;
- try {
+ await assertThrowsAsync(async () => {
await Deno.lstat("file_link");
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
);
@@ -343,13 +287,9 @@ if (Deno.build.os === "windows") {
symlink.close();
await Deno.remove("dir_link");
- let err;
- try {
+ await assertThrowsAsync(async () => {
await Deno.lstat("dir_link");
- } catch (e) {
- err = e;
- }
- assert(err instanceof Deno.errors.NotFound);
+ }, Deno.errors.NotFound);
}
);
}