diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2018-09-09 19:28:56 -0400 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-09-09 23:12:22 -0400 |
commit | 8090fb252b434db986256651304cab04e0d426f8 (patch) | |
tree | 2d0065530e0762e4952287f8628a7de9ae7ecbed /js/os_test.ts | |
parent | a4f1b367b9314b1526c51dad593cac1682ef996b (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.ts | 43 |
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"); }); |