deno.land / x / froebel@v0.23.2 / debounce.test.ts
1234567891011121314151617181920212223242526272829303132333435363738394041424344import debounce from "./debounce.ts";import { assertEquals } from "testing/asserts.ts";
Deno.test( "debounce", () => new Promise<void>((done) => { const args: number[] = [];
const fun = (n: number) => { args.push(n); };
const debounced = debounce(fun, 50);
let i = 0; const iid = setInterval(() => { debounced(++i); if (i === 3) clearInterval(iid); }, 5);
setTimeout(() => { assertEquals(args.length, 1); assertEquals(args[0], 3); done(); }, 100); }),);
Deno.test( "cancel debounce", () => new Promise<void>((done) => { const debounced = debounce(() => { throw Error(); }, 25);
debounced(); setTimeout(() => debounced[debounce.cancel](), 10);
setTimeout(done, 35); }),);
Version Info