UNPKG

react-cosmos

Version:

Sandbox for developing and testing UI components in isolation

24 lines (23 loc) 636 B
import { vi } from 'vitest'; export async function mockConsole(cb) { const expectedLogs = []; const origConsoleLog = console.log; console.log = vi.fn((...args) => { if (typeof args[0] !== 'string' || !expectedLogs.includes(args[0])) { origConsoleLog(...args); } }); try { const cbReturn = await cb({ expectLog: (msg) => expectedLogs.push(msg), }); expectedLogs.forEach(msg => expect(console.log).toBeCalledWith(msg)); return cbReturn; } catch (err) { throw err; } finally { console.log = origConsoleLog; } }