summaryrefslogtreecommitdiff
path: root/cli/tests/unit/files_test.ts
diff options
context:
space:
mode:
authorCasper Beyer <caspervonb@pm.me>2020-06-25 06:57:08 +0800
committerGitHub <noreply@github.com>2020-06-25 00:57:08 +0200
commit87f8f99c49e62c06f85bb453a7c12b32634c3bef (patch)
treee8f966f981a9f825ca1f22fe8d39642c448a9c62 /cli/tests/unit/files_test.ts
parent6bbe52fba33e440e113bca423b5eae0d1f320c49 (diff)
refactor(cli/tests/unit) to use assertThrows (#6459)
Diffstat (limited to 'cli/tests/unit/files_test.ts')
-rw-r--r--cli/tests/unit/files_test.ts125
1 files changed, 42 insertions, 83 deletions
diff --git a/cli/tests/unit/files_test.ts b/cli/tests/unit/files_test.ts
index e5db0c613..aca63928b 100644
--- a/cli/tests/unit/files_test.ts
+++ b/cli/tests/unit/files_test.ts
@@ -3,7 +3,7 @@ import {
unitTest,
assert,
assertEquals,
- assertStringContains,
+ assertThrowsAsync,
} from "./test_util.ts";
unitTest(function filesStdioFileDescriptors(): void {
@@ -251,63 +251,44 @@ unitTest(
const filename = "tests/hello.txt";
const openOptions: Deno.OpenOptions[] = [{ write: true }, { append: true }];
for (const options of openOptions) {
- let err;
- try {
+ await assertThrowsAsync(async () => {
await Deno.open(filename, options);
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assert(err instanceof Deno.errors.PermissionDenied);
- assertEquals(err.name, "PermissionDenied");
+ }, Deno.errors.PermissionDenied);
}
}
);
unitTest(async function openOptions(): Promise<void> {
const filename = "cli/tests/fixture.json";
- let err;
- try {
- await Deno.open(filename, { write: false });
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assertStringContains(
- err.message,
+ await assertThrowsAsync(
+ async (): Promise<void> => {
+ await Deno.open(filename, { write: false });
+ },
+ Error,
"OpenOptions requires at least one option to be true"
);
- try {
- await Deno.open(filename, { truncate: true, write: false });
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assertStringContains(
- err.message,
+ await assertThrowsAsync(
+ async (): Promise<void> => {
+ await Deno.open(filename, { truncate: true, write: false });
+ },
+ Error,
"'truncate' option requires 'write' option"
);
- try {
- await Deno.open(filename, { create: true, write: false });
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assertStringContains(
- err.message,
+ await assertThrowsAsync(
+ async (): Promise<void> => {
+ await Deno.open(filename, { create: true, write: false });
+ },
+ Error,
"'create' or 'createNew' options require 'write' or 'append' option"
);
- try {
- await Deno.open(filename, { createNew: true, append: false });
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assertStringContains(
- err.message,
+ await assertThrowsAsync(
+ async (): Promise<void> => {
+ await Deno.open(filename, { createNew: true, append: false });
+ },
+ Error,
"'create' or 'createNew' options require 'write' or 'append' option"
);
});
@@ -315,15 +296,9 @@ unitTest(async function openOptions(): Promise<void> {
unitTest({ perms: { read: false } }, async function readPermFailure(): Promise<
void
> {
- let caughtError = false;
- try {
+ await assertThrowsAsync(async () => {
await Deno.open("package.json", { read: true });
- await Deno.open("cli/tests/fixture.json", { read: true });
- } catch (e) {
- caughtError = true;
- assert(e instanceof Deno.errors.PermissionDenied);
- }
- assert(caughtError);
+ }, Deno.errors.PermissionDenied);
});
unitTest(
@@ -339,16 +314,12 @@ unitTest(
const file = await Deno.open(filename, w);
// writing null should throw an error
- let err;
- try {
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- await file.write(null as any);
- } catch (e) {
- err = e;
- }
- // TODO: Check error kind when dispatch_minimal pipes errors properly
- assert(!!err);
-
+ await assertThrowsAsync(
+ async (): Promise<void> => {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ await file.write(null as any);
+ }
+ ); // TODO: Check error kind when dispatch_minimal pipes errors properly
file.close();
await Deno.remove(tempDir, { recursive: true });
}
@@ -371,15 +342,11 @@ unitTest(
assert(bytesRead === 0);
// reading file into null buffer should throw an error
- let err;
- try {
+ await assertThrowsAsync(async () => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
await file.read(null as any);
- } catch (e) {
- err = e;
- }
+ }, TypeError);
// TODO: Check error kind when dispatch_minimal pipes errors properly
- assert(!!err);
file.close();
await Deno.remove(tempDir, { recursive: true });
@@ -390,15 +357,9 @@ unitTest(
{ perms: { write: false, read: false } },
async function readWritePermFailure(): Promise<void> {
const filename = "tests/hello.txt";
- let err;
- try {
+ await assertThrowsAsync(async () => {
await Deno.open(filename, { read: true });
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assert(err instanceof Deno.errors.PermissionDenied);
- assertEquals(err.name, "PermissionDenied");
+ }, Deno.errors.PermissionDenied);
}
);
@@ -668,15 +629,13 @@ unitTest({ perms: { read: true } }, function seekSyncEnd(): void {
unitTest({ perms: { read: true } }, async function seekMode(): Promise<void> {
const filename = "cli/tests/hello.txt";
const file = await Deno.open(filename);
- let err;
- try {
- await file.seek(1, -1);
- } catch (e) {
- err = e;
- }
- assert(!!err);
- assert(err instanceof TypeError);
- assertStringContains(err.message, "Invalid seek mode");
+ await assertThrowsAsync(
+ async (): Promise<void> => {
+ await file.seek(1, -1);
+ },
+ TypeError,
+ "Invalid seek mode"
+ );
// We should still be able to read the file
// since it is still open.