silverbullet/lib/memory_cache.test.ts

18 lines
510 B
TypeScript
Raw Permalink Normal View History

import { ttlCache } from "$lib/memory_cache.ts";
import { sleep } from "$lib/async.ts";
2024-07-30 23:24:17 +08:00
import { assertEquals } from "@std/assert";
Deno.test("Memory cache", async () => {
let calls = 0;
async function expensiveFunction(key: string) {
calls++;
await sleep(1);
return key;
}
assertEquals("key", await ttlCache("key", expensiveFunction, 0.01));
assertEquals(1, calls);
assertEquals("key", await ttlCache("key", expensiveFunction, 0.01));
assertEquals(1, calls);
await sleep(10);
});