summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/symlink_test.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/unit/symlink_test.ts b/tests/unit/symlink_test.ts
index 310c36930..0ee4a36fd 100644
--- a/tests/unit/symlink_test.ts
+++ b/tests/unit/symlink_test.ts
@@ -40,6 +40,24 @@ Deno.test(
);
Deno.test(
+ {
+ ignore: Deno.build.os !== "windows",
+ permissions: { read: true, write: true },
+ },
+ function symlinkSyncJunction() {
+ const testDir = Deno.makeTempDirSync();
+ const oldname = testDir + "/oldname";
+ const newname = testDir + "/newname";
+ Deno.mkdirSync(oldname);
+ Deno.symlinkSync(oldname, newname, { type: "junction" });
+ const newNameInfoLStat = Deno.lstatSync(newname);
+ const newNameInfoStat = Deno.statSync(newname);
+ assert(newNameInfoLStat.isSymlink);
+ assert(newNameInfoStat.isDirectory);
+ },
+);
+
+Deno.test(
{ permissions: { read: false, write: false } },
function symlinkSyncPerm() {
assertThrows(() => {
@@ -97,6 +115,24 @@ Deno.test(
);
Deno.test(
+ {
+ ignore: Deno.build.os !== "windows",
+ permissions: { read: true, write: true },
+ },
+ async function symlinkJunction() {
+ const testDir = Deno.makeTempDirSync();
+ const oldname = testDir + "/oldname";
+ const newname = testDir + "/newname";
+ Deno.mkdirSync(oldname);
+ await Deno.symlink(oldname, newname, { type: "junction" });
+ const newNameInfoLStat = Deno.lstatSync(newname);
+ const newNameInfoStat = Deno.statSync(newname);
+ assert(newNameInfoLStat.isSymlink, "NOT SYMLINK");
+ assert(newNameInfoStat.isDirectory, "NOT DIRECTORY");
+ },
+);
+
+Deno.test(
{ permissions: { read: true, write: true } },
async function symlinkAlreadyExist() {
const existingFile = Deno.makeTempFileSync();