summaryrefslogtreecommitdiff
path: root/std/node/fs_test.ts
diff options
context:
space:
mode:
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");
+});