summaryrefslogtreecommitdiff
path: root/js/files_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/files_test.ts')
-rw-r--r--js/files_test.ts20
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());