new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

Vitest · Guide · all subjects

timers & fake time

3 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

Fake timers now mock Temporal API

In Vitest 5.0, when vi.useFakeTimers() is active, Temporal is now mocked alongside Date. Temporal.Now methods follow the mocked clock. This only takes effect when Temporal is available on the global object (Node.js >= 26 by default or with --harmony-temporal, or through a globally installed polyfill). Temporal is part of the default set of faked APIs, controlled by fakeTimers.toFake and fakeTimers.toNotFake. Add Temporal to toNotFake to keep it native.

vi.setSystemTime now mocks Temporal

In Vitest 5.0, vi.setSystemTime() now mocks both Date and Temporal.Now methods, not just Date without fake timers.

Vitest timers use @sinonjs/fake-timers

Vitest and Sinon both use @sinonjs/fake-timers internally for timer mocking. Replace sinon.useFakeTimers() with vi.useFakeTimers(), clock.tick(ms) with vi.advanceTimersByTime(ms), and clock.restore() with vi.useRealTimers().

Give your agent this brain