summaryrefslogtreecommitdiff
path: root/cli/js/tests/symlink_test.ts
diff options
context:
space:
mode:
authorAli Hasani <a.hassssani@gmail.com>2020-05-19 03:16:02 +0430
committerGitHub <noreply@github.com>2020-05-19 00:46:02 +0200
commit6072755eadb7342a409f43260e5a17b956703a1c (patch)
tree35ec9b10eddafdc2b0dacecc439aa8d9f785529a /cli/js/tests/symlink_test.ts
parent88b24261ba467c20d4ef90224b07c19a71398f0f (diff)
Implement Deno.symlink() for windows (#5533)
Diffstat (limited to 'cli/js/tests/symlink_test.ts')
-rw-r--r--cli/js/tests/symlink_test.ts62
1 files changed, 10 insertions, 52 deletions
diff --git a/cli/js/tests/symlink_test.ts b/cli/js/tests/symlink_test.ts
index 681ace1db..505a49bab 100644
--- a/cli/js/tests/symlink_test.ts
+++ b/cli/js/tests/symlink_test.ts
@@ -8,22 +8,12 @@ unitTest(
const oldname = testDir + "/oldname";
const newname = testDir + "/newname";
Deno.mkdirSync(oldname);
- let errOnWindows;
// Just for now, until we implement symlink for Windows.
- try {
- Deno.symlinkSync(oldname, newname);
- } catch (e) {
- errOnWindows = e;
- }
- if (errOnWindows) {
- assertEquals(Deno.build.os, "windows");
- assertEquals(errOnWindows.message, "not implemented");
- } else {
- const newNameInfoLStat = Deno.lstatSync(newname);
- const newNameInfoStat = Deno.statSync(newname);
- assert(newNameInfoLStat.isSymlink);
- assert(newNameInfoStat.isDirectory);
- }
+ Deno.symlinkSync(oldname, newname);
+ const newNameInfoLStat = Deno.lstatSync(newname);
+ const newNameInfoStat = Deno.statSync(newname);
+ assert(newNameInfoLStat.isSymlink);
+ assert(newNameInfoStat.isDirectory);
}
);
@@ -38,28 +28,6 @@ unitTest(function symlinkSyncPerm(): void {
assertEquals(err.name, "PermissionDenied");
});
-// Just for now, until we implement symlink for Windows.
-// Symlink with type should succeed on other platforms with type ignored
-unitTest(
- { perms: { write: true } },
- function symlinkSyncNotImplemented(): void {
- const testDir = Deno.makeTempDirSync();
- const oldname = testDir + "/oldname";
- const newname = testDir + "/newname";
- let err;
- try {
- Deno.symlinkSync(oldname, newname, "dir");
- } catch (e) {
- err = e;
- }
- if (err) {
- assertEquals(Deno.build.os, "windows");
- // from cli/js/util.ts:notImplemented
- assertEquals(err.message, "not implemented");
- }
- }
-);
-
unitTest(
{ perms: { read: true, write: true } },
async function symlinkSuccess(): Promise<void> {
@@ -67,20 +35,10 @@ unitTest(
const oldname = testDir + "/oldname";
const newname = testDir + "/newname";
Deno.mkdirSync(oldname);
- let errOnWindows;
- // Just for now, until we implement symlink for Windows.
- try {
- await Deno.symlink(oldname, newname);
- } catch (e) {
- errOnWindows = e;
- }
- if (errOnWindows) {
- assertEquals(errOnWindows.message, "not implemented");
- } else {
- const newNameInfoLStat = Deno.lstatSync(newname);
- const newNameInfoStat = Deno.statSync(newname);
- assert(newNameInfoLStat.isSymlink);
- assert(newNameInfoStat.isDirectory);
- }
+ await Deno.symlink(oldname, newname);
+ const newNameInfoLStat = Deno.lstatSync(newname);
+ const newNameInfoStat = Deno.statSync(newname);
+ assert(newNameInfoLStat.isSymlink, "NOT SYMLINK");
+ assert(newNameInfoStat.isDirectory, "NOT DIRECTORY");
}
);