diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/dts/lib.deno.ns.d.ts | 4 | ||||
-rw-r--r-- | cli/tests/unit/symlink_test.ts | 28 |
2 files changed, 30 insertions, 2 deletions
diff --git a/cli/dts/lib.deno.ns.d.ts b/cli/dts/lib.deno.ns.d.ts index 2e1cae306..a631315c3 100644 --- a/cli/dts/lib.deno.ns.d.ts +++ b/cli/dts/lib.deno.ns.d.ts @@ -2347,7 +2347,7 @@ declare namespace Deno { * Deno.symlinkSync("old/name", "new/name"); * ``` * - * Requires `allow-write` permission. */ + * Requires full `allow-read` and `allow-write` permissions. */ export function symlinkSync( oldpath: string | URL, newpath: string | URL, @@ -2364,7 +2364,7 @@ declare namespace Deno { * await Deno.symlink("old/name", "new/name"); * ``` * - * Requires `allow-write` permission. */ + * Requires full `allow-read` and `allow-write` permissions. */ export function symlink( oldpath: string | URL, newpath: string | URL, diff --git a/cli/tests/unit/symlink_test.ts b/cli/tests/unit/symlink_test.ts index f0db2d615..782b03175 100644 --- a/cli/tests/unit/symlink_test.ts +++ b/cli/tests/unit/symlink_test.ts @@ -108,3 +108,31 @@ unitTest( ); }, ); + +unitTest( + { permissions: { read: true, write: ["."] } }, + async function symlinkNoFullWritePermissions() { + await assertRejects( + () => Deno.symlink("old", "new"), + Deno.errors.PermissionDenied, + ); + assertThrows( + () => Deno.symlinkSync("old", "new"), + Deno.errors.PermissionDenied, + ); + }, +); + +unitTest( + { permissions: { read: ["."], write: true } }, + async function symlinkNoFullReadPermissions() { + await assertRejects( + () => Deno.symlink("old", "new"), + Deno.errors.PermissionDenied, + ); + assertThrows( + () => Deno.symlinkSync("old", "new"), + Deno.errors.PermissionDenied, + ); + }, +); |