From 620dd9724d4f8568efebb1642b49c653de9424cd Mon Sep 17 00:00:00 2001 From: Chris Knight Date: Sun, 15 Mar 2020 15:48:46 +0000 Subject: refactor: move existing fs implementation to internal _fs directory (#4381) --- std/node/_fs/_fs_readlink_test.ts | 67 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 std/node/_fs/_fs_readlink_test.ts (limited to 'std/node/_fs/_fs_readlink_test.ts') 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); + } +}); -- cgit v1.2.3