diff options
author | Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com> | 2018-12-13 16:20:37 -0500 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-12-13 16:20:37 -0500 |
commit | 2cb52cc4d19b212c4a1095ca4f668fe62b237c7a (patch) | |
tree | e08f7714165fe2bff643dd25a987d4f0b4531d09 /js/files_test.ts | |
parent | 40d6daf8240f9dc090c23f975488c424b88f120f (diff) |
Fix deno.open permission check (#1336)
Diffstat (limited to 'js/files_test.ts')
-rw-r--r-- | js/files_test.ts | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/js/files_test.ts b/js/files_test.ts index d46a46906..03ad7a7cd 100644 --- a/js/files_test.ts +++ b/js/files_test.ts @@ -30,10 +30,26 @@ test(async function filesToAsyncIterator() { assertEqual(totalSize, 12); }); +testPerm({ write: false }, async function writePermFailure() { + const filename = "tests/hello.txt"; + const writeModes: deno.OpenMode[] = ["r+", "w", "w+", "a", "a+", "x", "x+"]; + for (const mode of writeModes) { + let err; + try { + await deno.open(filename, mode); + } catch (e) { + err = e; + } + assert(!!err); + assertEqual(err.kind, deno.ErrorKind.PermissionDenied); + assertEqual(err.name, "PermissionDenied"); + } +}); + testPerm({ write: true }, async function createFile() { const tempDir = await deno.makeTempDir(); const filename = tempDir + "/test.txt"; - let f = await deno.open(filename, "w"); + const f = await deno.open(filename, "w"); let fileInfo = deno.statSync(filename); assert(fileInfo.isFile()); assert(fileInfo.len === 0); @@ -88,7 +104,7 @@ testPerm({ write: true }, async function openModeWriteRead() { const filename = tempDir + "hello.txt"; const data = encoder.encode("Hello world!\n"); - let file = await deno.open(filename, "w+"); + const file = await deno.open(filename, "w+"); // assert file was created let fileInfo = deno.statSync(filename); assert(fileInfo.isFile()); |