UNPKG

@lewiswright/vitest-plugin-vis

Version:
29 lines (28 loc) 1.13 kB
import { mkdirp } from 'mkdirp'; import { dirname } from 'pathe'; import { isBase64String } from "../shared/base64.js"; import { browserApi } from "./browser_provider/browser_api.js"; import { file } from './file.js'; export async function takeSnapshot(context, filePath, subject, options) { if (isBase64String(subject)) { await writeSnapshot(filePath, subject); return Buffer.from(subject, 'base64'); } return takeSnapshotByBrowser(context, filePath, subject, options); } export async function takeSnapshotByBrowser(context, filePath, subject, options) { await mkdirp(dirname(filePath)); const browser = browserApi(context); return browser.takeScreenshot(filePath, subject ?? 'body', { timeout: options?.timeout, animations: options?.animations, }); } export async function writeSnapshot(filePath, subject) { await mkdirp(dirname(filePath)); await file.writeFile(filePath, subject, { encoding: 'base64' }); } export async function writeSnapshotBuffer(filePath, subject) { await mkdirp(dirname(filePath)); await file.writeFile(filePath, subject); }