summaryrefslogtreecommitdiff
path: root/std/node/fs_test.ts
diff options
context:
space:
mode:
authorVincent LE GOFF <g_n_s@hotmail.fr>2019-11-12 21:51:14 +0100
committerRy Dahl <ry@tinyclouds.org>2019-11-12 15:51:14 -0500
commitee1b8dc883db1531d913f7b10a8d1160f3209d93 (patch)
tree3ba17c471d465555fbffc7aa9027503b901ccc26 /std/node/fs_test.ts
parent0f33bf68859c162eb3d65ab53a7c71092585e1d1 (diff)
feat: std/node (#3319)
Diffstat (limited to 'std/node/fs_test.ts')
-rw-r--r--std/node/fs_test.ts47
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");
+});