@crvy/rprtr 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/{chunk-OMDYTNWY.js → chunk-XU5VQ3FZ.js} +3 -1
- package/dist/cli.js +2 -2
- package/dist/debug-log.d.ts +3 -0
- package/dist/debug-log.d.ts.map +1 -0
- package/dist/index.css +0 -22
- package/dist/index.js +83 -127
- package/dist/reporter-artifact-ops.d.ts +22 -0
- package/dist/reporter-artifact-ops.d.ts.map +1 -0
- package/dist/reporter.cjs +194 -176
- package/dist/reporter.d.ts +0 -5
- package/dist/reporter.d.ts.map +1 -1
- package/dist/reporter.js +135 -117
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server.cjs +2 -0
- package/dist/server.js +2 -2
- package/package.json +1 -1
- package/dist/{chunk-JGS2VWQP.js → chunk-EJRLZZ22.js} +142 -142
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.0.8] - 2026-06-05
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Broadcast test-begin events to UI and allow running→terminal status transitions
|
|
8
13
|
## [0.0.7] - 2026-06-05
|
|
9
14
|
|
|
10
15
|
### Ci
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
finalizeRunEvent,
|
|
12
12
|
resolveBaselineTargets,
|
|
13
13
|
safeParse
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EJRLZZ22.js";
|
|
15
15
|
|
|
16
16
|
// src/server/app.ts
|
|
17
17
|
import { dirname as dirname3, join as join4 } from "path";
|
|
@@ -178,7 +178,9 @@ function broadcastToBrowsers(wsClients, msg) {
|
|
|
178
178
|
// src/server/handlers.ts
|
|
179
179
|
function handleTestBegin(ctx, data) {
|
|
180
180
|
const test = applyTestBeginEvent(ctx, data);
|
|
181
|
+
ctx.reportData.isRunning = true;
|
|
181
182
|
console.log(` \u25B6 [${test.browser ?? "?"}] ${test.title}`);
|
|
183
|
+
broadcastToBrowsers(ctx.wsClients, { type: "test-begin", data });
|
|
182
184
|
}
|
|
183
185
|
function handleTestEnd(ctx, data) {
|
|
184
186
|
const result = applyTestEndEvent(ctx, data);
|
package/dist/cli.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-log.d.ts","sourceRoot":"","sources":["../src/debug-log.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,GAAG,GAAI,GAAG,MAAM,OAAO,EAAE,KAAG,IAExC,CAAA;AACD,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,OAAO,EAAE,KAAG,IAE7C,CAAA"}
|
package/dist/index.css
CHANGED
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
--color-white: #fff;
|
|
25
25
|
--spacing: 0.25rem;
|
|
26
26
|
--container-xl: 36rem;
|
|
27
|
-
--container-2xl: 42rem;
|
|
28
27
|
--text-xs: 0.75rem;
|
|
29
28
|
--text-xs--line-height: calc(1 / 0.75);
|
|
30
29
|
--text-sm: 0.875rem;
|
|
@@ -391,9 +390,6 @@
|
|
|
391
390
|
.w-full {
|
|
392
391
|
width: 100%;
|
|
393
392
|
}
|
|
394
|
-
.max-w-2xl {
|
|
395
|
-
max-width: var(--container-2xl);
|
|
396
|
-
}
|
|
397
393
|
.max-w-full {
|
|
398
394
|
max-width: 100%;
|
|
399
395
|
}
|
|
@@ -541,12 +537,6 @@
|
|
|
541
537
|
.border-edge {
|
|
542
538
|
border-color: var(--color-edge);
|
|
543
539
|
}
|
|
544
|
-
.border-edge\/70 {
|
|
545
|
-
border-color: var(--color-edge);
|
|
546
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
547
|
-
border-color: color-mix(in oklab, var(--color-edge) 70%, transparent);
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
540
|
.border-error {
|
|
551
541
|
border-color: var(--color-error);
|
|
552
542
|
}
|
|
@@ -559,12 +549,6 @@
|
|
|
559
549
|
border-color: color-mix(in oklab, var(--color-green-500) 60%, transparent);
|
|
560
550
|
}
|
|
561
551
|
}
|
|
562
|
-
.border-info\/40 {
|
|
563
|
-
border-color: var(--color-info);
|
|
564
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
565
|
-
border-color: color-mix(in oklab, var(--color-info) 40%, transparent);
|
|
566
|
-
}
|
|
567
|
-
}
|
|
568
552
|
.border-purple-500\/60 {
|
|
569
553
|
border-color: color-mix(in srgb, oklch(62.7% 0.265 303.9) 60%, transparent);
|
|
570
554
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -619,12 +603,6 @@
|
|
|
619
603
|
.bg-info {
|
|
620
604
|
background-color: var(--color-info);
|
|
621
605
|
}
|
|
622
|
-
.bg-info\/10 {
|
|
623
|
-
background-color: var(--color-info);
|
|
624
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
625
|
-
background-color: color-mix(in oklab, var(--color-info) 10%, transparent);
|
|
626
|
-
}
|
|
627
|
-
}
|
|
628
606
|
.bg-purple-500\/25 {
|
|
629
607
|
background-color: color-mix(in srgb, oklch(62.7% 0.265 303.9) 25%, transparent);
|
|
630
608
|
@supports (color: color-mix(in lab, red, red)) {
|
package/dist/index.js
CHANGED
|
@@ -19550,7 +19550,8 @@ var statusUpdatesMap = /* @__PURE__ */ new Map([
|
|
|
19550
19550
|
["success", /(approved|failed|pending|running)/],
|
|
19551
19551
|
["approved", /(failed|pending|running)/],
|
|
19552
19552
|
["failed", /(pending|running)/],
|
|
19553
|
-
["pending", /running/]
|
|
19553
|
+
["pending", /running/],
|
|
19554
|
+
["running", /(success|approved|failed|pending)/]
|
|
19554
19555
|
]);
|
|
19555
19556
|
function calcStatus(oldStatus, newStatus) {
|
|
19556
19557
|
return newStatus !== void 0 && statusUpdatesMap.get(oldStatus)?.test(newStatus) === true ? newStatus : oldStatus;
|
|
@@ -20282,10 +20283,9 @@ function SlideView($$anchor, $$props) {
|
|
|
20282
20283
|
delegate(["input"]);
|
|
20283
20284
|
|
|
20284
20285
|
// src/client/components/SideBySideView.svelte
|
|
20285
|
-
var
|
|
20286
|
-
var
|
|
20287
|
-
var root_32 = from_html(`<div class="flex-1 flex flex-col bg-surface-panel rounded-md overflow-hidden min-w-0 border-2 border-
|
|
20288
|
-
var root_42 = from_html(`<div class="flex-1 flex flex-col bg-surface-panel rounded-md overflow-hidden min-w-0 border-2 border-red-500/60"><h3 class="m-0 px-3 py-2 text-xs font-bold bg-red-500/25 text-red-800 dark:text-red-200 uppercase tracking-wider">Actual</h3> <div class="flex items-center justify-center p-2"><img alt="Actual" class="w-auto max-w-full object-contain mx-auto" loading="lazy"/></div></div>`);
|
|
20286
|
+
var root_14 = from_html(`<div class="flex-1 flex flex-col bg-surface-panel rounded-md overflow-hidden min-w-0 border-2 border-green-500/60"><h3 class="m-0 px-3 py-2 text-xs font-bold bg-green-500/25 text-green-800 dark:text-green-200 uppercase tracking-wider"> </h3> <div class="flex items-center justify-center p-2"><img alt="Expected" class="w-auto max-w-full object-contain mx-auto" loading="lazy"/></div></div>`);
|
|
20287
|
+
var root_24 = from_html(`<div class="flex-1 flex flex-col bg-surface-panel rounded-md overflow-hidden min-w-0 border-2 border-yellow-500/60"><h3 class="m-0 px-3 py-2 text-xs font-bold bg-yellow-500/25 text-yellow-800 dark:text-yellow-200 uppercase tracking-wider">Diff</h3> <div class="flex items-center justify-center p-2"><img alt="Diff" class="w-auto max-w-full object-contain mx-auto" loading="lazy"/></div></div>`);
|
|
20288
|
+
var root_32 = from_html(`<div class="flex-1 flex flex-col bg-surface-panel rounded-md overflow-hidden min-w-0 border-2 border-red-500/60"><h3 class="m-0 px-3 py-2 text-xs font-bold bg-red-500/25 text-red-800 dark:text-red-200 uppercase tracking-wider">Actual</h3> <div class="flex items-center justify-center p-2"><img alt="Actual" class="w-auto max-w-full object-contain mx-auto" loading="lazy"/></div></div>`);
|
|
20289
20289
|
var root3 = from_html(`<div><!> <!> <!></div>`);
|
|
20290
20290
|
function SideBySideView($$anchor, $$props) {
|
|
20291
20291
|
push($$props, true);
|
|
@@ -20306,7 +20306,7 @@ function SideBySideView($$anchor, $$props) {
|
|
|
20306
20306
|
let classes;
|
|
20307
20307
|
var node = child(div);
|
|
20308
20308
|
{
|
|
20309
|
-
var
|
|
20309
|
+
var consequent = ($$anchor2) => {
|
|
20310
20310
|
var div_1 = root_14();
|
|
20311
20311
|
var h3 = child(div_1);
|
|
20312
20312
|
var text2 = child(h3, true);
|
|
@@ -20314,16 +20314,6 @@ function SideBySideView($$anchor, $$props) {
|
|
|
20314
20314
|
var div_2 = sibling(h3, 2);
|
|
20315
20315
|
var img_1 = child(div_2);
|
|
20316
20316
|
reset(div_2);
|
|
20317
|
-
var node_1 = sibling(div_2, 2);
|
|
20318
|
-
{
|
|
20319
|
-
var consequent = ($$anchor3) => {
|
|
20320
|
-
var div_3 = root_24();
|
|
20321
|
-
append($$anchor3, div_3);
|
|
20322
|
-
};
|
|
20323
|
-
if_block(node_1, ($$render) => {
|
|
20324
|
-
if ($$props.image.source === "baseline-only" && !$$props.image.actual && !$$props.image.diff) $$render(consequent);
|
|
20325
|
-
});
|
|
20326
|
-
}
|
|
20327
20317
|
reset(div_1);
|
|
20328
20318
|
template_effect(() => {
|
|
20329
20319
|
set_text(text2, get2(expectedLabel));
|
|
@@ -20332,37 +20322,37 @@ function SideBySideView($$anchor, $$props) {
|
|
|
20332
20322
|
append($$anchor2, div_1);
|
|
20333
20323
|
};
|
|
20334
20324
|
if_block(node, ($$render) => {
|
|
20335
|
-
if ($$props.image.expect) $$render(
|
|
20325
|
+
if ($$props.image.expect) $$render(consequent);
|
|
20336
20326
|
});
|
|
20337
20327
|
}
|
|
20338
|
-
var
|
|
20328
|
+
var node_1 = sibling(node, 2);
|
|
20339
20329
|
{
|
|
20340
|
-
var
|
|
20341
|
-
var
|
|
20342
|
-
var
|
|
20343
|
-
var img_2 = child(
|
|
20344
|
-
reset(div_5);
|
|
20330
|
+
var consequent_1 = ($$anchor2) => {
|
|
20331
|
+
var div_3 = root_24();
|
|
20332
|
+
var div_4 = sibling(child(div_3), 2);
|
|
20333
|
+
var img_2 = child(div_4);
|
|
20345
20334
|
reset(div_4);
|
|
20335
|
+
reset(div_3);
|
|
20346
20336
|
template_effect(() => set_attribute2(img_2, "src", $$props.image.diff));
|
|
20347
|
-
append($$anchor2,
|
|
20337
|
+
append($$anchor2, div_3);
|
|
20348
20338
|
};
|
|
20349
|
-
if_block(
|
|
20350
|
-
if ($$props.image.diff) $$render(
|
|
20339
|
+
if_block(node_1, ($$render) => {
|
|
20340
|
+
if ($$props.image.diff) $$render(consequent_1);
|
|
20351
20341
|
});
|
|
20352
20342
|
}
|
|
20353
|
-
var
|
|
20343
|
+
var node_2 = sibling(node_1, 2);
|
|
20354
20344
|
{
|
|
20355
|
-
var
|
|
20356
|
-
var
|
|
20357
|
-
var
|
|
20358
|
-
var img_3 = child(
|
|
20359
|
-
reset(div_7);
|
|
20345
|
+
var consequent_2 = ($$anchor2) => {
|
|
20346
|
+
var div_5 = root_32();
|
|
20347
|
+
var div_6 = sibling(child(div_5), 2);
|
|
20348
|
+
var img_3 = child(div_6);
|
|
20360
20349
|
reset(div_6);
|
|
20350
|
+
reset(div_5);
|
|
20361
20351
|
template_effect(() => set_attribute2(img_3, "src", $$props.image.actual));
|
|
20362
|
-
append($$anchor2,
|
|
20352
|
+
append($$anchor2, div_5);
|
|
20363
20353
|
};
|
|
20364
|
-
if_block(
|
|
20365
|
-
if ($$props.image.actual) $$render(
|
|
20354
|
+
if_block(node_2, ($$render) => {
|
|
20355
|
+
if ($$props.image.actual) $$render(consequent_2);
|
|
20366
20356
|
});
|
|
20367
20357
|
}
|
|
20368
20358
|
reset(div);
|
|
@@ -20509,20 +20499,17 @@ function BlendView($$anchor, $$props) {
|
|
|
20509
20499
|
|
|
20510
20500
|
// src/client/components/ResultsPage.svelte
|
|
20511
20501
|
var root_27 = from_html(`<button> </button>`);
|
|
20512
|
-
var
|
|
20502
|
+
var root_42 = from_html(`<button> </button>`);
|
|
20513
20503
|
var root_34 = from_html(`<div class="flex gap-1 flex-wrap justify-center mt-1"></div>`);
|
|
20514
20504
|
var root_52 = from_html(`<div class="flex-1 flex items-center justify-center text-fg-muted text-base">No image to display</div>`);
|
|
20515
20505
|
var root_62 = from_html(`<div class="max-w-xl w-full rounded-md border border-edge bg-surface-panel px-5 py-6 text-center"><h3 class="m-0 text-sm font-semibold text-fg-bright uppercase tracking-wide">Passed Visual Assertion</h3> <p class="mt-3 text-sm leading-6 text-fg-muted">Playwright reported this screenshot assertion, but did not emit an actual, expected, or diff artifact for the passing comparison.</p></div>`);
|
|
20516
|
-
var
|
|
20517
|
-
var
|
|
20518
|
-
var
|
|
20519
|
-
var
|
|
20520
|
-
var
|
|
20521
|
-
var
|
|
20522
|
-
var
|
|
20523
|
-
var root_18 = from_html(`<button> </button>`);
|
|
20524
|
-
var root_19 = from_html(`<span class="px-1 text-fg-muted text-xs"></span>`);
|
|
20525
|
-
var root_162 = from_html(`<div class="py-2 px-5 bg-surface-alt border-t border-edge flex items-center justify-center gap-1 shrink-0"><button aria-label="Previous retry">‹</button> <div class="flex gap-0.5 items-center"></div> <button aria-label="Next retry">›</button></div>`);
|
|
20506
|
+
var root_7 = from_html(`<div class="w-full flex flex-col gap-3"><!></div>`);
|
|
20507
|
+
var root_112 = from_html(`<div class="flex flex-col bg-surface-panel rounded-md overflow-hidden min-w-0 border-2 border-red-500/60"><h3 class="m-0 px-3 py-2 text-xs font-bold bg-red-500/25 text-red-800 dark:text-red-200 uppercase tracking-wider">Actual</h3> <div class="flex items-center justify-center p-2"><img alt="Actual" class="w-auto max-w-full object-contain mx-auto" loading="lazy"/></div></div>`);
|
|
20508
|
+
var root_92 = from_html(`<div class="flex flex-col gap-3"><!></div>`);
|
|
20509
|
+
var root_122 = from_html(`<div class="w-full flex flex-col gap-3"><!></div>`);
|
|
20510
|
+
var root_152 = from_html(`<button> </button>`);
|
|
20511
|
+
var root_162 = from_html(`<span class="px-1 text-fg-muted text-xs"></span>`);
|
|
20512
|
+
var root_132 = from_html(`<div class="py-2 px-5 bg-surface-alt border-t border-edge flex items-center justify-center gap-1 shrink-0"><button aria-label="Previous retry">‹</button> <div class="flex gap-0.5 items-center"></div> <button aria-label="Next retry">›</button></div>`);
|
|
20526
20513
|
var root6 = from_html(`<div class="flex flex-col h-full"><div class="py-3 px-5 max-md:px-3 bg-surface-alt border-b border-edge flex items-center gap-2 shrink-0"><div class="flex shrink-0 mr-3"><!></div> <div class="flex-1 flex flex-col items-center min-w-0 pr-10"><h2 class="text-base text-fg-bright m-0 font-medium whitespace-nowrap overflow-hidden text-ellipsis text-pretty max-w-full"> </h2> <!></div></div> <div class="flex-1 overflow-auto min-h-0"><div class="min-h-full p-4 max-md:p-2 flex justify-center items-center"><!></div></div> <!></div>`);
|
|
20527
20514
|
function ResultsPage($$anchor, $$props) {
|
|
20528
20515
|
push($$props, true);
|
|
@@ -20531,7 +20518,6 @@ function ResultsPage($$anchor, $$props) {
|
|
|
20531
20518
|
let imageNames = user_derived(() => get2(result)?.images ? Object.keys(get2(result).images) : []);
|
|
20532
20519
|
let totalRetries = user_derived(() => $$props.test.results?.length ?? 0);
|
|
20533
20520
|
let hasDiffAndExpect = user_derived(() => Boolean(get2(image)?.diff && get2(image)?.expect));
|
|
20534
|
-
let isBaselineOnly = user_derived(() => get2(image)?.source === "baseline-only");
|
|
20535
20521
|
let isDeclaredOnly = user_derived(() => get2(image)?.source === "declared-only");
|
|
20536
20522
|
let imagesWithError = user_derived(() => get2(result)?.images ? Object.keys(get2(result).images).filter((name) => get2(result).status !== "success" && $$props.test.approved?.[name] !== $$props.retry - 1 && get2(result).images?.[name]?.diff !== null) : []);
|
|
20537
20523
|
let imagesApproved = user_derived(() => get2(result)?.images ? Object.keys(get2(result).images).filter((name) => $$props.test.approved?.[name] === $$props.retry - 1) : []);
|
|
@@ -20593,7 +20579,7 @@ function ResultsPage($$anchor, $$props) {
|
|
|
20593
20579
|
var consequent_1 = ($$anchor2) => {
|
|
20594
20580
|
var div_4 = root_34();
|
|
20595
20581
|
each(div_4, 21, () => get2(imageNames), index, ($$anchor3, name) => {
|
|
20596
|
-
var button_1 =
|
|
20582
|
+
var button_1 = root_42();
|
|
20597
20583
|
var text_2 = child(button_1, true);
|
|
20598
20584
|
reset(button_1);
|
|
20599
20585
|
template_effect(
|
|
@@ -20629,20 +20615,10 @@ function ResultsPage($$anchor, $$props) {
|
|
|
20629
20615
|
var div_8 = root_62();
|
|
20630
20616
|
append($$anchor2, div_8);
|
|
20631
20617
|
};
|
|
20632
|
-
var
|
|
20618
|
+
var consequent_4 = ($$anchor2) => {
|
|
20633
20619
|
var div_9 = root_7();
|
|
20634
20620
|
var node_4 = child(div_9);
|
|
20635
|
-
{
|
|
20636
|
-
var consequent_4 = ($$anchor3) => {
|
|
20637
|
-
var div_10 = root_82();
|
|
20638
|
-
append($$anchor3, div_10);
|
|
20639
|
-
};
|
|
20640
|
-
if_block(node_4, ($$render) => {
|
|
20641
|
-
if (get2(isBaselineOnly)) $$render(consequent_4);
|
|
20642
|
-
});
|
|
20643
|
-
}
|
|
20644
|
-
var node_5 = sibling(node_4, 2);
|
|
20645
|
-
SideBySideView(node_5, {
|
|
20621
|
+
SideBySideView(node_4, {
|
|
20646
20622
|
get image() {
|
|
20647
20623
|
return get2(image);
|
|
20648
20624
|
}
|
|
@@ -20650,28 +20626,18 @@ function ResultsPage($$anchor, $$props) {
|
|
|
20650
20626
|
reset(div_9);
|
|
20651
20627
|
append($$anchor2, div_9);
|
|
20652
20628
|
};
|
|
20653
|
-
var
|
|
20629
|
+
var consequent_5 = ($$anchor2) => {
|
|
20654
20630
|
SwapView($$anchor2, {
|
|
20655
20631
|
get image() {
|
|
20656
20632
|
return get2(image);
|
|
20657
20633
|
}
|
|
20658
20634
|
});
|
|
20659
20635
|
};
|
|
20660
|
-
var
|
|
20661
|
-
var
|
|
20662
|
-
var
|
|
20663
|
-
{
|
|
20664
|
-
var consequent_7 = ($$anchor3) => {
|
|
20665
|
-
var div_12 = root_112();
|
|
20666
|
-
append($$anchor3, div_12);
|
|
20667
|
-
};
|
|
20668
|
-
if_block(node_6, ($$render) => {
|
|
20669
|
-
if (get2(isBaselineOnly)) $$render(consequent_7);
|
|
20670
|
-
});
|
|
20671
|
-
}
|
|
20672
|
-
var node_7 = sibling(node_6, 2);
|
|
20636
|
+
var consequent_8 = ($$anchor2) => {
|
|
20637
|
+
var div_10 = root_92();
|
|
20638
|
+
var node_5 = child(div_10);
|
|
20673
20639
|
{
|
|
20674
|
-
var
|
|
20640
|
+
var consequent_6 = ($$anchor3) => {
|
|
20675
20641
|
SlideView($$anchor3, {
|
|
20676
20642
|
get actual() {
|
|
20677
20643
|
return get2(image).actual;
|
|
@@ -20684,67 +20650,57 @@ function ResultsPage($$anchor, $$props) {
|
|
|
20684
20650
|
}
|
|
20685
20651
|
});
|
|
20686
20652
|
};
|
|
20687
|
-
var
|
|
20688
|
-
var
|
|
20689
|
-
var
|
|
20690
|
-
var img = child(
|
|
20691
|
-
reset(
|
|
20692
|
-
reset(
|
|
20653
|
+
var consequent_7 = ($$anchor3) => {
|
|
20654
|
+
var div_11 = root_112();
|
|
20655
|
+
var div_12 = sibling(child(div_11), 2);
|
|
20656
|
+
var img = child(div_12);
|
|
20657
|
+
reset(div_12);
|
|
20658
|
+
reset(div_11);
|
|
20693
20659
|
template_effect(() => set_attribute2(img, "src", get2(image).actual));
|
|
20694
|
-
append($$anchor3,
|
|
20660
|
+
append($$anchor3, div_11);
|
|
20695
20661
|
};
|
|
20696
|
-
if_block(
|
|
20697
|
-
if (get2(image).actual && get2(image).expect && get2(image).diff) $$render(
|
|
20698
|
-
else if (get2(image).actual) $$render(
|
|
20662
|
+
if_block(node_5, ($$render) => {
|
|
20663
|
+
if (get2(image).actual && get2(image).expect && get2(image).diff) $$render(consequent_6);
|
|
20664
|
+
else if (get2(image).actual) $$render(consequent_7, 1);
|
|
20699
20665
|
});
|
|
20700
20666
|
}
|
|
20701
|
-
reset(
|
|
20702
|
-
append($$anchor2,
|
|
20667
|
+
reset(div_10);
|
|
20668
|
+
append($$anchor2, div_10);
|
|
20703
20669
|
};
|
|
20704
|
-
var
|
|
20705
|
-
var
|
|
20706
|
-
var
|
|
20707
|
-
{
|
|
20708
|
-
var consequent_11 = ($$anchor3) => {
|
|
20709
|
-
var div_16 = root_152();
|
|
20710
|
-
append($$anchor3, div_16);
|
|
20711
|
-
};
|
|
20712
|
-
if_block(node_8, ($$render) => {
|
|
20713
|
-
if (get2(isBaselineOnly)) $$render(consequent_11);
|
|
20714
|
-
});
|
|
20715
|
-
}
|
|
20716
|
-
var node_9 = sibling(node_8, 2);
|
|
20717
|
-
BlendView(node_9, {
|
|
20670
|
+
var consequent_9 = ($$anchor2) => {
|
|
20671
|
+
var div_13 = root_122();
|
|
20672
|
+
var node_6 = child(div_13);
|
|
20673
|
+
BlendView(node_6, {
|
|
20718
20674
|
get image() {
|
|
20719
20675
|
return get2(image);
|
|
20720
20676
|
}
|
|
20721
20677
|
});
|
|
20722
|
-
reset(
|
|
20723
|
-
append($$anchor2,
|
|
20678
|
+
reset(div_13);
|
|
20679
|
+
append($$anchor2, div_13);
|
|
20724
20680
|
};
|
|
20725
20681
|
if_block(node_3, ($$render) => {
|
|
20726
20682
|
if (!get2(image)) $$render(consequent_2);
|
|
20727
20683
|
else if (get2(isDeclaredOnly)) $$render(consequent_3, 1);
|
|
20728
|
-
else if ($$props.viewMode === "side-by-side" || !get2(hasDiffAndExpect)) $$render(
|
|
20729
|
-
else if ($$props.viewMode === "swap") $$render(
|
|
20730
|
-
else if ($$props.viewMode === "slide") $$render(
|
|
20731
|
-
else if ($$props.viewMode === "blend") $$render(
|
|
20684
|
+
else if ($$props.viewMode === "side-by-side" || !get2(hasDiffAndExpect)) $$render(consequent_4, 2);
|
|
20685
|
+
else if ($$props.viewMode === "swap") $$render(consequent_5, 3);
|
|
20686
|
+
else if ($$props.viewMode === "slide") $$render(consequent_8, 4);
|
|
20687
|
+
else if ($$props.viewMode === "blend") $$render(consequent_9, 5);
|
|
20732
20688
|
});
|
|
20733
20689
|
}
|
|
20734
20690
|
reset(div_6);
|
|
20735
20691
|
reset(div_5);
|
|
20736
|
-
var
|
|
20692
|
+
var node_7 = sibling(div_5, 2);
|
|
20737
20693
|
{
|
|
20738
|
-
var
|
|
20739
|
-
var
|
|
20740
|
-
var button_2 = child(
|
|
20741
|
-
var
|
|
20742
|
-
each(
|
|
20694
|
+
var consequent_12 = ($$anchor2) => {
|
|
20695
|
+
var div_14 = root_132();
|
|
20696
|
+
var button_2 = child(div_14);
|
|
20697
|
+
var div_15 = sibling(button_2, 2);
|
|
20698
|
+
each(div_15, 21, () => Array.from({ length: get2(totalRetries) }, (_, i) => i + 1), index, ($$anchor3, page) => {
|
|
20743
20699
|
var fragment_3 = comment();
|
|
20744
|
-
var
|
|
20700
|
+
var node_8 = first_child(fragment_3);
|
|
20745
20701
|
{
|
|
20746
|
-
var
|
|
20747
|
-
var button_3 =
|
|
20702
|
+
var consequent_10 = ($$anchor4) => {
|
|
20703
|
+
var button_3 = root_152();
|
|
20748
20704
|
var text_3 = child(button_3, true);
|
|
20749
20705
|
reset(button_3);
|
|
20750
20706
|
template_effect(
|
|
@@ -20760,21 +20716,21 @@ function ResultsPage($$anchor, $$props) {
|
|
|
20760
20716
|
append($$anchor4, button_3);
|
|
20761
20717
|
};
|
|
20762
20718
|
var d = user_derived(() => get2(totalRetries) <= 7 || get2(page) === 1 || get2(page) === get2(totalRetries) || Math.abs(get2(page) - $$props.retry) <= 1);
|
|
20763
|
-
var
|
|
20764
|
-
var span =
|
|
20719
|
+
var consequent_11 = ($$anchor4) => {
|
|
20720
|
+
var span = root_162();
|
|
20765
20721
|
span.textContent = "\u2026";
|
|
20766
20722
|
append($$anchor4, span);
|
|
20767
20723
|
};
|
|
20768
|
-
if_block(
|
|
20769
|
-
if (get2(d)) $$render(
|
|
20770
|
-
else if (get2(page) === 2 || get2(page) === get2(totalRetries) - 1) $$render(
|
|
20724
|
+
if_block(node_8, ($$render) => {
|
|
20725
|
+
if (get2(d)) $$render(consequent_10);
|
|
20726
|
+
else if (get2(page) === 2 || get2(page) === get2(totalRetries) - 1) $$render(consequent_11, 1);
|
|
20771
20727
|
});
|
|
20772
20728
|
}
|
|
20773
20729
|
append($$anchor3, fragment_3);
|
|
20774
20730
|
});
|
|
20775
|
-
reset(
|
|
20776
|
-
var button_4 = sibling(
|
|
20777
|
-
reset(
|
|
20731
|
+
reset(div_15);
|
|
20732
|
+
var button_4 = sibling(div_15, 2);
|
|
20733
|
+
reset(div_14);
|
|
20778
20734
|
template_effect(
|
|
20779
20735
|
($0, $1) => {
|
|
20780
20736
|
set_class(button_2, 1, $0);
|
|
@@ -20789,10 +20745,10 @@ function ResultsPage($$anchor, $$props) {
|
|
|
20789
20745
|
);
|
|
20790
20746
|
delegated("click", button_2, () => $$props.onRetryChange($$props.retry - 1));
|
|
20791
20747
|
delegated("click", button_4, () => $$props.onRetryChange($$props.retry + 1));
|
|
20792
|
-
append($$anchor2,
|
|
20748
|
+
append($$anchor2, div_14);
|
|
20793
20749
|
};
|
|
20794
|
-
if_block(
|
|
20795
|
-
if (get2(totalRetries) > 1) $$render(
|
|
20750
|
+
if_block(node_7, ($$render) => {
|
|
20751
|
+
if (get2(totalRetries) > 1) $$render(consequent_12);
|
|
20796
20752
|
});
|
|
20797
20753
|
}
|
|
20798
20754
|
reset(div);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AttachmentData } from './reporter-utils.ts';
|
|
2
|
+
import { resolveBaselineTargets } from './snapshot-path-resolver.ts';
|
|
3
|
+
export type RunEvent = {
|
|
4
|
+
type: 'test-begin' | 'test-end' | 'run-end';
|
|
5
|
+
data: unknown;
|
|
6
|
+
};
|
|
7
|
+
export type BaselineResolverInput = Parameters<typeof resolveBaselineTargets>[0];
|
|
8
|
+
export type ResolvedBaselineTarget = ReturnType<typeof resolveBaselineTargets>[number];
|
|
9
|
+
export declare function encodeArtifactPathSegment(segment: string): string;
|
|
10
|
+
export declare function safeArtifactPath(name: string): string;
|
|
11
|
+
export declare function sanitizeId(id: string): string;
|
|
12
|
+
export declare function copyResolvedBaseline(safeTestId: string, testScreenshotDir: string, target: ResolvedBaselineTarget, savedAttachments: AttachmentData[]): Promise<void>;
|
|
13
|
+
export declare function saveAttachments(screenshotDir: string, testId: string, result: {
|
|
14
|
+
attachments: {
|
|
15
|
+
contentType?: string;
|
|
16
|
+
path?: string;
|
|
17
|
+
name: string;
|
|
18
|
+
}[];
|
|
19
|
+
}): Promise<AttachmentData[]>;
|
|
20
|
+
export declare function writeOfflineReport(runEvents: RunEvent[], offlineReportPath: string, workerIndex: number): Promise<void>;
|
|
21
|
+
export declare function writeStaticArtifact(runEvents: RunEvent[], screenshotDir: string, reportHtmlPath: string): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=reporter-artifact-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter-artifact-ops.d.ts","sourceRoot":"","sources":["../src/reporter-artifact-ops.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAOpE,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AACrF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;AAChF,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,sBAAsB,EAC9B,gBAAgB,EAAE,cAAc,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,WAAW,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAC/E,OAAO,CAAC,cAAc,EAAE,CAAC,CAoC3B;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,QAAQ,EAAE,EACrB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf"}
|