diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2018-09-09 20:25:43 -0400 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-09-10 00:14:28 -0400 |
commit | 35bc9ddf636734a424b8f69ca7a49af071193002 (patch) | |
tree | 2f5e0908859837110ee765968abf6317c200257e /js/read_file_test.ts | |
parent | c29392b25f6a7ade25a8205cabb9c3548e771ca2 (diff) |
Implement deno.readFile()
As an example of how to implement ops that have both sync and async
versions.
Diffstat (limited to 'js/read_file_test.ts')
-rw-r--r-- | js/read_file_test.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/read_file_test.ts b/js/read_file_test.ts new file mode 100644 index 000000000..6d4f71b62 --- /dev/null +++ b/js/read_file_test.ts @@ -0,0 +1,34 @@ +// Copyright 2018 the Deno authors. All rights reserved. MIT license. +import { test, assert, assertEqual } from "./test_util.ts"; +import * as deno from "deno"; + +test(function readFileSyncSuccess() { + const data = deno.readFileSync("package.json"); + assert(data.byteLength > 0); + const decoder = new TextDecoder("utf-8"); + const json = decoder.decode(data); + const pkg = JSON.parse(json); + assertEqual(pkg.name, "deno"); +}); + +test(function readFileSyncNotFound() { + let caughtError = false; + let data; + try { + data = deno.readFileSync("bad_filename"); + } catch (e) { + caughtError = true; + assertEqual(e.kind, deno.ErrorKind.NotFound); + } + assert(caughtError); + assert(data === undefined); +}); + +test(async function readFileSuccess() { + const data = await deno.readFile("package.json"); + assert(data.byteLength > 0); + const decoder = new TextDecoder("utf-8"); + const json = decoder.decode(data); + const pkg = JSON.parse(json); + assertEqual(pkg.name, "deno"); +}); |