summaryrefslogtreecommitdiff
path: root/cli/tests/unit/read_text_file_test.ts
diff options
context:
space:
mode:
authorKamil Ogórek <kamil.ogorek@gmail.com>2023-02-11 13:19:13 +0100
committerGitHub <noreply@github.com>2023-02-11 14:19:13 +0200
commit0164959d3441ccfbaaaff20eea2d3ec9fe852373 (patch)
tree833373ac2ef41225a24a48346afc12deccfc78d9 /cli/tests/unit/read_text_file_test.ts
parent211f49619afd915a2ce56cf0b5da50f640c90f73 (diff)
fix(ops): Always close cancel handles for read_async/write_async (#17736)
Fixes https://github.com/denoland/deno/issues/17734
Diffstat (limited to 'cli/tests/unit/read_text_file_test.ts')
-rw-r--r--cli/tests/unit/read_text_file_test.ts17
1 files changed, 14 insertions, 3 deletions
diff --git a/cli/tests/unit/read_text_file_test.ts b/cli/tests/unit/read_text_file_test.ts
index e78276dde..c40cb83e3 100644
--- a/cli/tests/unit/read_text_file_test.ts
+++ b/cli/tests/unit/read_text_file_test.ts
@@ -95,7 +95,7 @@ Deno.test(
queueMicrotask(() => ac.abort());
const error = await assertRejects(
async () => {
- await Deno.readFile("cli/tests/testdata/assets/fixture.json", {
+ await Deno.readTextFile("cli/tests/testdata/assets/fixture.json", {
signal: ac.signal,
});
},
@@ -113,7 +113,7 @@ Deno.test(
queueMicrotask(() => ac.abort(abortReason));
const error = await assertRejects(
async () => {
- await Deno.readFile("cli/tests/testdata/assets/fixture.json", {
+ await Deno.readTextFile("cli/tests/testdata/assets/fixture.json", {
signal: ac.signal,
});
},
@@ -128,7 +128,7 @@ Deno.test(
const ac = new AbortController();
queueMicrotask(() => ac.abort("Some string"));
try {
- await Deno.readFile("cli/tests/testdata/assets/fixture.json", {
+ await Deno.readTextFile("cli/tests/testdata/assets/fixture.json", {
signal: ac.signal,
});
unreachable();
@@ -138,6 +138,17 @@ Deno.test(
},
);
+// Test that AbortController's cancel handle is cleaned-up correctly, and do not leak resources.
+Deno.test(
+ { permissions: { read: true } },
+ async function readTextFileWithAbortSignalNotCalled() {
+ const ac = new AbortController();
+ await Deno.readTextFile("cli/tests/testdata/assets/fixture.json", {
+ signal: ac.signal,
+ });
+ },
+);
+
Deno.test(
{ permissions: { read: true }, ignore: Deno.build.os !== "linux" },
async function readTextFileProcFs() {