diff options
author | Vincent LE GOFF <g_n_s@hotmail.fr> | 2019-11-12 21:51:14 +0100 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2019-11-12 15:51:14 -0500 |
commit | ee1b8dc883db1531d913f7b10a8d1160f3209d93 (patch) | |
tree | 3ba17c471d465555fbffc7aa9027503b901ccc26 /std/node/fs_test.ts | |
parent | 0f33bf68859c162eb3d65ab53a7c71092585e1d1 (diff) |
feat: std/node (#3319)
Diffstat (limited to 'std/node/fs_test.ts')
-rw-r--r-- | std/node/fs_test.ts | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/std/node/fs_test.ts b/std/node/fs_test.ts new file mode 100644 index 000000000..81b9594f1 --- /dev/null +++ b/std/node/fs_test.ts @@ -0,0 +1,47 @@ +import { readFile, readFileSync } from "./fs.ts"; +import { test } from "../testing/mod.ts"; +import * as path from "../path/mod.ts"; +import { assertEquals, assert } from "../testing/asserts.ts"; + +const testData = path.resolve(path.join("node", "testdata", "hello.txt")); + +// Need to convert to promises, otherwise test() won't report error correctly. +test(async function readFileSuccess() { + const data = await new Promise((res, rej) => { + readFile(testData, (err, data) => { + if (err) { + rej(err); + } + res(data); + }); + }); + + assert(data instanceof Uint8Array); + assertEquals(new TextDecoder().decode(data as Uint8Array), "hello world"); +}); + +test(async function readFileEncodeUtf8Success() { + const data = await new Promise((res, rej) => { + readFile(testData, { encoding: "utf8" }, (err, data) => { + if (err) { + rej(err); + } + res(data); + }); + }); + + assertEquals(typeof data, "string"); + assertEquals(data as string, "hello world"); +}); + +test(function readFileSyncSuccess() { + const data = readFileSync(testData); + assert(data instanceof Uint8Array); + assertEquals(new TextDecoder().decode(data as Uint8Array), "hello world"); +}); + +test(function readFileEncodeUtf8Success() { + const data = readFileSync(testData, { encoding: "utf8" }); + assertEquals(typeof data, "string"); + assertEquals(data as string, "hello world"); +}); |