Skip to content

Files

Latest commit

4d32a27 · Apr 25, 2025

History

History

testing

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Apr 1, 2025
Jan 4, 2025
Jun 26, 2024
Jan 4, 2025
Apr 23, 2025
Jan 4, 2025
Jan 4, 2025
Apr 10, 2025
Jan 4, 2025
Apr 8, 2025
Jan 4, 2025
Jan 4, 2025
Apr 1, 2025
Apr 25, 2025
Apr 10, 2025
Jan 4, 2025
Jan 4, 2025
Apr 10, 2025
Mar 24, 2025
Jan 4, 2025
Jan 4, 2025
Jan 4, 2025
Jan 4, 2025
Jan 4, 2025

This package provides utilities for testing.

import { assertSpyCalls, spy } from "@std/testing/mock";
import { FakeTime } from "@std/testing/time";

function secondInterval(cb: () => void): number {
  return setInterval(cb, 1000);
}

Deno.test("secondInterval calls callback every second and stops after being cleared", () => {
  using time = new FakeTime();

  const cb = spy();
  const intervalId = secondInterval(cb);
  assertSpyCalls(cb, 0);
  time.tick(500);
  assertSpyCalls(cb, 0);
  time.tick(500);
  assertSpyCalls(cb, 1);
  time.tick(3500);
  assertSpyCalls(cb, 4);

  clearInterval(intervalId);
  time.tick(1000);
  assertSpyCalls(cb, 4);
});