From e2990be264776d4d17e0fa982f74e1ad54624d0d Mon Sep 17 00:00:00 2001 From: Marcos Casagrande Date: Mon, 3 Oct 2022 06:18:59 +0200 Subject: fix(ext/cache): close resource on error (#16129) --- cli/tests/unit/cache_api_test.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'cli/tests') diff --git a/cli/tests/unit/cache_api_test.ts b/cli/tests/unit/cache_api_test.ts index 8b84bfc6d..16996c821 100644 --- a/cli/tests/unit/cache_api_test.ts +++ b/cli/tests/unit/cache_api_test.ts @@ -106,7 +106,7 @@ Deno.test(async function cachePutReaderLock() { response, ); - assertRejects( + await assertRejects( async () => { await response.arrayBuffer(); }, @@ -116,3 +116,25 @@ Deno.test(async function cachePutReaderLock() { await promise; }); + +Deno.test(async function cachePutResourceLeak() { + const cacheName = "cache-v1"; + const cache = await caches.open(cacheName); + + const stream = new ReadableStream({ + start(controller) { + controller.error(new Error("leak")); + }, + }); + + await assertRejects( + async () => { + await cache.put( + new Request("https://example.com/"), + new Response(stream), + ); + }, + Error, + "leak", + ); +}); -- cgit v1.2.3