1
0
silverbullet/plug-api/lib/memory_cache.test.ts
Zef Hemel a2dbf7b3db
PlugOS refactor and other tweaks (#631)
* Prep for in-process plug loading (e.g. for CF workers, Deno Deploy)
* Prototype of fixed in-process loading plugs
* Fix: buttons not to scroll with content
* Better positioning of modal especially on mobile
* Move query caching outside query
* Fix annoying mouse behavior when filter box appears
* Page navigator search tweaks
2024-01-15 16:43:12 +01:00

18 lines
523 B
TypeScript

import { sleep } from "$sb/lib/async.ts";
import { ttlCache } from "$sb/lib/memory_cache.ts";
import { assertEquals } from "../../test_deps.ts";
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);
});