diff options
author | Chris Knight <cknight1234@gmail.com> | 2020-03-15 15:48:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-15 11:48:46 -0400 |
commit | 620dd9724d4f8568efebb1642b49c653de9424cd (patch) | |
tree | e57827e536c264189f151ffebffe7e9faaae0c46 /std/node/_fs/_fs_readlink_test.ts | |
parent | dc6e0c3591709d6f8887bb672af1de54dfc8a974 (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.ts | 67 |
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); + } +}); |