summaryrefslogtreecommitdiff
path: root/cli/tests/unit/cache_api_test.ts
diff options
context:
space:
mode:
authorMatt Mastracci <matthew@mastracci.com>2024-01-15 13:14:54 -0700
committerGitHub <noreply@github.com>2024-01-15 13:14:54 -0700
commit3ff80eb1521c49a43e0fae53840e5a636571ebfe (patch)
treec2054112d6fea2f102300f5d2c5743dd23f8a9f8 /cli/tests/unit/cache_api_test.ts
parent72ecfe04198c5e912826663033a8963fbdea4521 (diff)
chore(ext/cache): remove CachePutResource in preparation for resource rewrite (#21949)
We can use `resourceForReadableStream` to ensure that cached resources are implemented more efficiently and remove one more resource special case.
Diffstat (limited to 'cli/tests/unit/cache_api_test.ts')
-rw-r--r--cli/tests/unit/cache_api_test.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/cli/tests/unit/cache_api_test.ts b/cli/tests/unit/cache_api_test.ts
index d2c112f77..792929870 100644
--- a/cli/tests/unit/cache_api_test.ts
+++ b/cli/tests/unit/cache_api_test.ts
@@ -189,3 +189,19 @@ Deno.test(async function cachePutOverwrite() {
const res_ = await cache.match(request);
assertEquals(await res_?.text(), "res2");
});
+
+// Ensure that we can successfully put a response backed by a resource
+Deno.test(async function cachePutResource() {
+ const tempFile = Deno.makeTempFileSync({ prefix: "deno-", suffix: ".txt" });
+ Deno.writeTextFileSync(tempFile, "Contents".repeat(1024));
+
+ const file = Deno.openSync(tempFile);
+
+ const cacheName = "cache-v1";
+ const cache = await caches.open(cacheName);
+
+ const request = new Request("https://example.com/file");
+ await cache.put(request, new Response(file.readable));
+ const res = await cache.match(request);
+ assertEquals(await res?.text(), "Contents".repeat(1024));
+});