mirror of
https://github.com/maputnik/editor.git
synced 2026-07-09 23:47:25 +00:00
Remove coverage file and have everything inside the fixtures.ts file.
This commit is contained in:
@@ -1,30 +0,0 @@
|
|||||||
import fs from "node:fs";
|
|
||||||
import path from "node:path";
|
|
||||||
import type { Page } from "@playwright/test";
|
|
||||||
|
|
||||||
const OUTPUT_DIR = path.resolve(process.cwd(), ".nyc_output");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads the istanbul coverage object (injected by vite-plugin-istanbul) from the
|
|
||||||
* given page. Returns `null` when the page has not been instrumented.
|
|
||||||
*/
|
|
||||||
export async function readCoverage(page: Page): Promise<unknown | null> {
|
|
||||||
try {
|
|
||||||
return await page.evaluate(() => (window as unknown as { __coverage__?: unknown }).__coverage__ ?? null);
|
|
||||||
} catch {
|
|
||||||
// Page might be navigating/closed.
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Persists a coverage chunk to `.nyc_output` so that `nyc report` can merge it.
|
|
||||||
* istanbul-lib-coverage (used by nyc) sums the hit counts across every file it
|
|
||||||
* finds, so writing one file per chunk is enough to accumulate coverage across
|
|
||||||
* navigations and tests.
|
|
||||||
*/
|
|
||||||
export function writeCoverage(coverage: unknown, id: string): void {
|
|
||||||
if (!coverage) return;
|
|
||||||
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
|
|
||||||
fs.writeFileSync(path.join(OUTPUT_DIR, `playwright-${id}.json`), JSON.stringify(coverage));
|
|
||||||
}
|
|
||||||
+29
-1
@@ -1,5 +1,6 @@
|
|||||||
import { test, expect, type Page } from "@playwright/test";
|
import { test, expect, type Page } from "@playwright/test";
|
||||||
import { readCoverage, writeCoverage } from "./coverage";
|
import fs from "node:fs";
|
||||||
|
import path from "node:path";
|
||||||
|
|
||||||
let activePage: Page | undefined;
|
let activePage: Page | undefined;
|
||||||
const coverageChunks: unknown[] = [];
|
const coverageChunks: unknown[] = [];
|
||||||
@@ -12,6 +13,33 @@ export function currentPage(): Page {
|
|||||||
return activePage;
|
return activePage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const OUTPUT_DIR = path.resolve(process.cwd(), ".nyc_output");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads the istanbul coverage object (injected by vite-plugin-istanbul) from the
|
||||||
|
* given page. Returns `null` when the page has not been instrumented.
|
||||||
|
*/
|
||||||
|
export async function readCoverage(page: Page): Promise<unknown | null> {
|
||||||
|
try {
|
||||||
|
return await page.evaluate(() => (window as unknown as { __coverage__?: unknown }).__coverage__ ?? null);
|
||||||
|
} catch {
|
||||||
|
// Page might be navigating/closed.
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Persists a coverage chunk to `.nyc_output` so that `nyc report` can merge it.
|
||||||
|
* istanbul-lib-coverage (used by nyc) sums the hit counts across every file it
|
||||||
|
* finds, so writing one file per chunk is enough to accumulate coverage across
|
||||||
|
* navigations and tests.
|
||||||
|
*/
|
||||||
|
export function writeCoverage(coverage: unknown, id: string): void {
|
||||||
|
if (!coverage) return;
|
||||||
|
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
|
||||||
|
fs.writeFileSync(path.join(OUTPUT_DIR, `playwright-${id}.json`), JSON.stringify(coverage));
|
||||||
|
}
|
||||||
|
|
||||||
/** Records a coverage snapshot (called before navigations, which reset __coverage__). */
|
/** Records a coverage snapshot (called before navigations, which reset __coverage__). */
|
||||||
export function recordCoverageChunk(chunk: unknown): void {
|
export function recordCoverageChunk(chunk: unknown): void {
|
||||||
if (chunk) coverageChunks.push(chunk);
|
if (chunk) coverageChunks.push(chunk);
|
||||||
|
|||||||
Reference in New Issue
Block a user