summaryrefslogtreecommitdiff
path: root/std/node/_fs/_fs_readlink_test.ts
diff options
context:
space:
mode:
authorChris Knight <cknight1234@gmail.com>2020-03-15 15:48:46 +0000
committerGitHub <noreply@github.com>2020-03-15 11:48:46 -0400
commit620dd9724d4f8568efebb1642b49c653de9424cd (patch)
treee57827e536c264189f151ffebffe7e9faaae0c46 /std/node/_fs/_fs_readlink_test.ts
parentdc6e0c3591709d6f8887bb672af1de54dfc8a974 (diff)
refactor: move existing fs implementation to internal _fs directory (#4381)
Diffstat (limited to 'std/node/_fs/_fs_readlink_test.ts')
-rw-r--r--std/node/_fs/_fs_readlink_test.ts67
1 files changed, 67 insertions, 0 deletions
diff --git a/std/node/_fs/_fs_readlink_test.ts b/std/node/_fs/_fs_readlink_test.ts
new file mode 100644
index 000000000..202b9e227
--- /dev/null
+++ b/std/node/_fs/_fs_readlink_test.ts
@@ -0,0 +1,67 @@
+const { test } = Deno;
+import { readlink, readlinkSync } from "./_fs_readlink.ts";
+import { assertEquals, assert } from "../../testing/asserts.ts";
+
+const testDir = Deno.makeTempDirSync();
+const oldname = testDir + "/oldname";
+const newname = testDir + "/newname";
+
+if (Deno.build.os !== "win") {
+ Deno.symlinkSync(oldname, newname);
+}
+
+test({
+ name: "readlinkSuccess",
+ skip: Deno.build.os === "win",
+ async fn() {
+ const data = await new Promise((res, rej) => {
+ readlink(newname, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, oldname);
+ }
+});
+
+test({
+ name: "readlinkEncodeBufferSuccess",
+ skip: Deno.build.os === "win",
+ async fn() {
+ const data = await new Promise((res, rej) => {
+ readlink(newname, { encoding: "buffer" }, (err, data) => {
+ if (err) {
+ rej(err);
+ }
+ res(data);
+ });
+ });
+
+ assert(data instanceof Uint8Array);
+ assertEquals(new TextDecoder().decode(data as Uint8Array), oldname);
+ }
+});
+
+test({
+ name: "readlinkSyncSuccess",
+ skip: Deno.build.os === "win",
+ fn() {
+ const data = readlinkSync(newname);
+ assertEquals(typeof data, "string");
+ assertEquals(data as string, oldname);
+ }
+});
+
+test({
+ name: "readlinkEncodeBufferSuccess",
+ skip: Deno.build.os === "win",
+ fn() {
+ const data = readlinkSync(newname, { encoding: "buffer" });
+ assert(data instanceof Uint8Array);
+ assertEquals(new TextDecoder().decode(data as Uint8Array), oldname);
+ }
+});