diff options
Diffstat (limited to 'cli/tests')
-rw-r--r-- | cli/tests/unit/read_file_test.ts | 18 | ||||
-rw-r--r-- | cli/tests/unit/read_text_file_test.ts | 18 |
2 files changed, 36 insertions, 0 deletions
diff --git a/cli/tests/unit/read_file_test.ts b/cli/tests/unit/read_file_test.ts index 5594eb4ae..5f8ee2c11 100644 --- a/cli/tests/unit/read_file_test.ts +++ b/cli/tests/unit/read_file_test.ts @@ -77,3 +77,21 @@ unitTest({ perms: { read: true } }, function readFileSyncLoop(): void { Deno.readFileSync("cli/tests/fixture.json"); } }); + +unitTest( + { perms: { read: true } }, + async function readFileDoesNotLeakResources(): Promise<void> { + const resourcesBefore = Deno.resources(); + await assertThrowsAsync(async () => await Deno.readFile("cli")); + assertEquals(resourcesBefore, Deno.resources()); + }, +); + +unitTest( + { perms: { read: true } }, + function readFileSyncDoesNotLeakResources(): void { + const resourcesBefore = Deno.resources(); + assertThrows(() => Deno.readFileSync("cli")); + assertEquals(resourcesBefore, Deno.resources()); + }, +); diff --git a/cli/tests/unit/read_text_file_test.ts b/cli/tests/unit/read_text_file_test.ts index dc6a901bb..2223d9c18 100644 --- a/cli/tests/unit/read_text_file_test.ts +++ b/cli/tests/unit/read_text_file_test.ts @@ -69,3 +69,21 @@ unitTest({ perms: { read: true } }, function readTextFileSyncLoop(): void { Deno.readTextFileSync("cli/tests/fixture.json"); } }); + +unitTest( + { perms: { read: true } }, + async function readTextFileDoesNotLeakResources(): Promise<void> { + const resourcesBefore = Deno.resources(); + await assertThrowsAsync(async () => await Deno.readTextFile("cli")); + assertEquals(resourcesBefore, Deno.resources()); + }, +); + +unitTest( + { perms: { read: true } }, + function readTextFileSyncDoesNotLeakResources(): void { + const resourcesBefore = Deno.resources(); + assertThrows(() => Deno.readTextFileSync("cli")); + assertEquals(resourcesBefore, Deno.resources()); + }, +); |