Skip to content

Commit c112342

Browse files
author
DavidQ
committed
Include Palette Manager runtime files in Playwright V8 coverage report - PR_26126_058-playwright-coverage-include-palette-manager
1 parent fe4b396 commit c112342

3 files changed

Lines changed: 55 additions & 2 deletions

File tree

docs/dev/reports/playwright_v8_coverage_report.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
Playwright V8 Coverage Report
22

3-
PR: PR_26126_057-playwright-coverage-formatting
3+
PR: PR_26126_058-playwright-coverage-include-palette-manager
44
Coverage source: Playwright/Chromium built-in V8 coverage.
5+
Coverage scope: all collected runtime JavaScript under src/, tools/, and common/.
56
Dependencies: no new npm packages.
67
Thresholds: none enforced.
78
Note: coverage is an advisory baseline only for this PR.
@@ -58,35 +59,51 @@ Files with executed line/function counts where available:
5859
(33%) src/engine/rendering/VectorDrawing.js - executed lines 22/22; executed functions 1/3
5960
(33%) src/engine/runtime/MobileRuntimeTweaks.js - executed lines 21/21; executed functions 1/3
6061
(33%) src/engine/scene/SceneTransitionController.js - executed lines 22/22; executed functions 1/3
62+
(36%) tools/palette-manager-v2/controls/PaletteImportExportControl.js - executed lines 67/67; executed functions 4/11
6163
(38%) src/engine/camera/Camera3D.js - executed lines 48/48; executed functions 3/8
64+
(38%) tools/palette-manager-v2/modules/PaletteValidationService.js - executed lines 88/88; executed functions 3/8
65+
(39%) tools/palette-manager-v2/modules/PaletteManagerApp.js - executed lines 934/934; executed functions 43/110
6266
(40%) src/engine/scene/Scene.js - executed lines 12/12; executed functions 2/5
6367
(42%) tools/preview-generator-v2/PreviewGeneratorV2Capture.js - executed lines 477/477; executed functions 10/24
68+
(44%) tools/palette-manager-v2/controls/PaletteEditorControl.js - executed lines 225/225; executed functions 14/32
6469
(47%) src/engine/runtime/RuntimeMonitoringHooks.js - executed lines 191/191; executed functions 8/17
6570
(50%) src/engine/camera/ZoneCameraSystem.js - executed lines 26/26; executed functions 1/2
6671
(50%) src/engine/config/ConfigStore.js - executed lines 46/46; executed functions 3/6
6772
(50%) src/engine/input/ActionInputDebugOverlay.js - executed lines 51/51; executed functions 1/2
6873
(50%) src/engine/release/DistributionPackager.js - executed lines 32/32; executed functions 1/2
6974
(50%) src/engine/rendering/LayeredRenderSystem.js - executed lines 14/14; executed functions 1/2
7075
(50%) src/engine/rendering/SpriteRenderSystem.js - executed lines 48/48; executed functions 1/2
76+
(50%) tools/common/PaletteUsageService.js - executed lines 5/5; executed functions 1/2
77+
(50%) tools/palette-manager-v2/main.js - executed lines 88/88; executed functions 3/6
78+
(50%) tools/palette-manager-v2/modules/PaletteHistoryStack.js - executed lines 54/54; executed functions 5/10
7179
(50%) tools/toolRegistry.js - executed lines 425/425; executed functions 4/8
80+
(55%) tools/palette-manager-v2/modules/SwatchRow.js - executed lines 115/115; executed functions 6/11
7281
(56%) src/engine/logging/Logger.js - executed lines 56/56; executed functions 5/9
82+
(56%) tools/palette-manager-v2/modules/paletteUtils.js - executed lines 41/41; executed functions 5/9
7383
(57%) src/engine/runtime/FullscreenService.js - executed lines 118/118; executed functions 8/14
7484
(58%) src/engine/core/Engine.js - executed lines 323/323; executed functions 7/12
7585
(60%) src/engine/core/RuntimeMetrics.js - executed lines 48/48; executed functions 3/5
7686
(60%) src/engine/persistence/StorageService.js - executed lines 49/49; executed functions 3/5
7787
(61%) src/engine/runtime/gameImageConvention.js - executed lines 207/207; executed functions 11/18
88+
(65%) tools/palette-manager-v2/controls/SourcePaletteBrowserControl.js - executed lines 121/121; executed functions 15/23
7889
(67%) src/shared/number/numberUtils.js - executed lines 14/14; executed functions 2/3
7990
(67%) tools/preview-generator-v2/PreviewGeneratorV2ShellControl.js - executed lines 117/117; executed functions 8/12
91+
(71%) tools/palette-manager-v2/controls/PaletteValidationErrorControl.js - executed lines 30/30; executed functions 5/7
8092
(73%) src/engine/theme/mount-shared-header.js - executed lines 143/143; executed functions 8/11
8193
(75%) src/engine/core/FixedTicker.js - executed lines 36/36; executed functions 3/4
8294
(75%) src/engine/theme/Theme.js - executed lines 26/26; executed functions 3/4
95+
(75%) tools/palette-manager-v2/controls/UserPaletteControl.js - executed lines 95/95; executed functions 12/16
96+
(75%) tools/palette-manager-v2/paletteManagerShell.js - executed lines 160/160; executed functions 12/16
8397
(80%) src/engine/core/FrameClock.js - executed lines 32/32; executed functions 4/5
98+
(80%) src/engine/theme/accordionV2/accordionV2.js - executed lines 26/26; executed functions 4/5
8499
(81%) tools/preview-generator-v2/PreviewGeneratorV2App.js - executed lines 539/539; executed functions 47/58
100+
(87%) tools/common/PaletteSortService.js - executed lines 103/103; executed functions 13/15
85101
(100%) src/engine/audio/index.js - executed lines 15/15; executed functions 1/1
86102
(100%) src/engine/camera/index.js - executed lines 10/10; executed functions 1/1
87103
(100%) src/engine/config/index.js - executed lines 7/7; executed functions 1/1
88104
(100%) src/engine/input/index.js - executed lines 13/13; executed functions 1/1
89105
(100%) src/engine/logging/index.js - executed lines 8/8; executed functions 1/1
106+
(100%) src/engine/paletteList.js - executed lines 1205/1205; executed functions 15/15
90107
(100%) src/engine/persistence/index.js - executed lines 11/11; executed functions 1/1
91108
(100%) src/engine/release/index.js - executed lines 12/12; executed functions 1/1
92109
(100%) src/engine/rendering/index.js - executed lines 11/11; executed functions 1/1
@@ -119,3 +136,4 @@ Uncovered or low-coverage changed JS files:
119136

120137
Changed JS files considered:
121138
(0%) tests/helpers/playwrightV8CoverageReporter.mjs - changed JS file not collected as browser runtime coverage
139+
(0%) tests/playwright/PreviewGeneratorV2Baseline.spec.mjs - changed JS file not collected as browser runtime coverage

tests/helpers/playwrightV8CoverageReporter.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ export class PlaywrightV8CoverageReporter {
4646
const reportLines = [
4747
"Playwright V8 Coverage Report",
4848
"",
49-
"PR: PR_26126_057-playwright-coverage-formatting",
49+
"PR: PR_26126_058-playwright-coverage-include-palette-manager",
5050
"Coverage source: Playwright/Chromium built-in V8 coverage.",
51+
"Coverage scope: all collected runtime JavaScript under src/, tools/, and common/.",
5152
"Dependencies: no new npm packages.",
5253
"Thresholds: none enforced.",
5354
"Note: coverage is an advisory baseline only for this PR.",

tests/playwright/PreviewGeneratorV2Baseline.spec.mjs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,13 @@ async function openPreviewGenerator(page, { withFakeRepo = false, validSampleIds
113113
return server;
114114
}
115115

116+
async function openPaletteManager(page) {
117+
const server = await startRepoServer();
118+
await coverageReporter.start(page);
119+
await page.goto(`${server.baseUrl}/tools/palette-manager-v2/index.html`, { waitUntil: "networkidle" });
120+
return server;
121+
}
122+
116123
async function expectAccordionToggles(page, contentId) {
117124
const header = page.locator(`.accordion-v2__header[aria-controls="${contentId}"]`);
118125
const content = page.locator(`#${contentId}`);
@@ -409,4 +416,31 @@ test.describe("Preview Generator V2 baseline", () => {
409416
await server.close();
410417
}
411418
});
419+
420+
test("loads Palette Manager V2 so coverage includes Palette Manager runtime files", async ({ page }) => {
421+
const server = await openPaletteManager(page);
422+
const pageErrors = [];
423+
424+
page.on("pageerror", (error) => {
425+
pageErrors.push(error.message);
426+
});
427+
428+
try {
429+
await expect(page.locator(".palette-manager-v2.app-shell")).toBeVisible();
430+
await expect(page.locator("h1", { hasText: "Palette Manager V2" })).toBeVisible();
431+
await expect(page.locator('nav[aria-label="menuSample"]')).toBeVisible();
432+
await expect(page.locator("#sourcePaletteSelect")).toBeVisible();
433+
await expect(page.locator("#sourceSwatchList .palette-manager-v2__source-tile").first()).toBeVisible();
434+
await expect(page.locator("#importPaletteButton")).toBeVisible();
435+
await expect(page.locator("#copyPaletteButton")).toBeVisible();
436+
await expect(page.locator("#exportPaletteButton")).toBeVisible();
437+
await expect(page.locator("#paletteStatus")).toContainText("Ready.");
438+
await page.waitForFunction(() => Boolean(globalThis.paletteManagerV2App?.getPaletteValue));
439+
440+
expect(pageErrors).toEqual([]);
441+
} finally {
442+
await coverageReporter.stop(page);
443+
await server.close();
444+
}
445+
});
412446
});

0 commit comments

Comments
 (0)