summaryrefslogtreecommitdiff
path: root/js/os_test.ts
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2018-09-09 19:28:56 -0400
committerRyan Dahl <ry@tinyclouds.org>2018-09-09 23:12:22 -0400
commit8090fb252b434db986256651304cab04e0d426f8 (patch)
tree2d0065530e0762e4952287f8628a7de9ae7ecbed /js/os_test.ts
parenta4f1b367b9314b1526c51dad593cac1682ef996b (diff)
Expose deno.ErrorKind
Originally we planned to have a JS class for each error code. But it seems better to just have a single DenoError class with a "kind" property. One nice thing about using an enum instead of classes for errors is that switch() can be used during error handling instead of a bunch of instanceof branches.
Diffstat (limited to 'js/os_test.ts')
-rw-r--r--js/os_test.ts43
1 files changed, 18 insertions, 25 deletions
diff --git a/js/os_test.ts b/js/os_test.ts
index 3c1d926d8..7a252cb73 100644
--- a/js/os_test.ts
+++ b/js/os_test.ts
@@ -16,8 +16,8 @@ test(async function envFailure() {
const env = deno.env();
} catch (err) {
caughtError = true;
- // TODO assert(err instanceof deno.PermissionDenied).
- assertEqual(err.name, "deno.PermissionDenied");
+ assertEqual(err.kind, deno.ErrorKind.PermissionDenied);
+ assertEqual(err.name, "PermissionDenied");
}
assert(caughtError);
@@ -47,9 +47,8 @@ test(async function statSyncNotFound() {
badInfo = deno.statSync("bad_file_name");
} catch (err) {
caughtError = true;
- // TODO assert(err instanceof deno.NotFound).
- assert(err);
- assertEqual(err.name, "deno.NotFound");
+ assertEqual(err.kind, deno.ErrorKind.NotFound);
+ assertEqual(err.name, "NotFound");
}
assert(caughtError);
@@ -78,9 +77,8 @@ test(async function lstatSyncNotFound() {
badInfo = deno.lstatSync("bad_file_name");
} catch (err) {
caughtError = true;
- // TODO assert(err instanceof deno.NotFound).
- assert(err);
- assertEqual(err.name, "deno.NotFound");
+ assertEqual(err.kind, deno.ErrorKind.NotFound);
+ assertEqual(err.name, "NotFound");
}
assert(caughtError);
@@ -138,8 +136,8 @@ testPerm({ write: true }, function writeFileSyncFail() {
deno.writeFileSync(filename, data);
} catch (e) {
caughtError = true;
- // TODO assertEqual(e, deno.NotFound);
- assertEqual(e.name, "deno.NotFound");
+ assertEqual(e.kind, deno.ErrorKind.NotFound);
+ assertEqual(e.name, "NotFound");
}
assert(caughtError);
});
@@ -166,9 +164,8 @@ testPerm({ write: true }, function makeTempDirSync() {
} catch (err_) {
err = err_;
}
- // TODO assert(err instanceof deno.NotFound).
- assert(err);
- assertEqual(err.name, "deno.NotFound");
+ assertEqual(err.kind, deno.ErrorKind.NotFound);
+ assertEqual(err.name, "NotFound");
});
test(function makeTempDirSyncPerm() {
@@ -179,9 +176,8 @@ test(function makeTempDirSyncPerm() {
} catch (err_) {
err = err_;
}
- // TODO assert(err instanceof deno.PermissionDenied).
- assert(err);
- assertEqual(err.name, "deno.PermissionDenied");
+ assertEqual(err.kind, deno.ErrorKind.PermissionDenied);
+ assertEqual(err.name, "PermissionDenied");
});
testPerm({ write: true }, function mkdirSync() {
@@ -199,9 +195,8 @@ testPerm({ write: false }, function mkdDirSyncPerm() {
} catch (err_) {
err = err_;
}
- // TODO assert(err instanceof deno.PermissionDenied).
- assert(err);
- assertEqual(err.name, "deno.PermissionDenied");
+ assertEqual(err.kind, deno.ErrorKind.PermissionDenied);
+ assertEqual(err.name, "PermissionDenied");
});
testPerm({ write: true }, function renameSync() {
@@ -220,9 +215,8 @@ testPerm({ write: true }, function renameSync() {
oldPathInfo = deno.statSync(oldpath);
} catch (err) {
caughtErr = true;
- // TODO assert(err instanceof deno.NotFound).
- assert(err);
- assertEqual(err.name, "deno.NotFound");
+ assertEqual(err.kind, deno.ErrorKind.NotFound);
+ assertEqual(err.name, "NotFound");
}
assert(caughtErr);
@@ -238,7 +232,6 @@ test(function renameSyncPerm() {
} catch (err_) {
err = err_;
}
- // TODO assert(err instanceof deno.PermissionDenied).
- assert(err);
- assertEqual(err.name, "deno.PermissionDenied");
+ assertEqual(err.kind, deno.ErrorKind.PermissionDenied);
+ assertEqual(err.name, "PermissionDenied");
});