@rstest/browser 0.9.6 → 0.9.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/dist/browser-container/container-static/js/{407.89ee95c89d.js → 464.ae4bcbdfb4.js} +392 -389
- package/dist/browser-container/container-static/js/464.ae4bcbdfb4.js.LICENSE.txt +1 -0
- package/dist/browser-container/container-static/js/{index.3ad6624086.js → index.c13dfe1ecf.js} +10 -10
- package/dist/browser-container/container-static/js/{lib-react.f905279759.js → lib-react.9b88cb98a5.js} +32 -32
- package/dist/browser-container/container-static/js/lib-react.9b88cb98a5.js.LICENSE.txt +1 -0
- package/dist/browser-container/index.html +1 -1
- package/dist/index.js +15 -3
- package/package.json +8 -8
- package/src/hostController.ts +27 -2
- package/dist/browser-container/container-static/js/407.89ee95c89d.js.LICENSE.txt +0 -1
- package/dist/browser-container/container-static/js/lib-react.f905279759.js.LICENSE.txt +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! LICENSE: 464.ae4bcbdfb4.js.LICENSE.txt */
|
package/dist/browser-container/container-static/js/{index.3ad6624086.js → index.c13dfe1ecf.js}
RENAMED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
var e, t, s, l, r, o, a = {
|
|
4
4
|
5645 (e, t, s) {
|
|
5
|
-
var l = s(
|
|
5
|
+
var l = s(1627);
|
|
6
6
|
let r = "__rstest_dispatch_response__", o = "runner";
|
|
7
|
-
var a = s(
|
|
7
|
+
var a = s(8433), i = s(9328), n = s(6165), c = s(1979), d = s(725);
|
|
8
8
|
let u = (e)=>{
|
|
9
9
|
let { message: t } = e;
|
|
10
10
|
return (0, l.jsx)("div", {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
})
|
|
16
16
|
});
|
|
17
17
|
};
|
|
18
|
-
var p = s(
|
|
18
|
+
var p = s(8132), h = s(4691), f = s(7372), x = s(1787), m = s(399);
|
|
19
19
|
let g = (e, t)=>{
|
|
20
20
|
if (!t) return e;
|
|
21
21
|
let s = t.endsWith("/") ? t.slice(0, -1) : t;
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
}
|
|
33
33
|
}, "*"), fetch(`/__open-in-editor?file=${encodeURIComponent(e)}`).catch(()=>{});
|
|
34
34
|
};
|
|
35
|
-
var v = s(
|
|
35
|
+
var v = s(1821), y = s(4797), _ = s(9043), C = s(83), w = s(1818);
|
|
36
36
|
let b = {
|
|
37
37
|
idle: {
|
|
38
38
|
label: "Idle",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
})
|
|
79
79
|
}
|
|
80
80
|
};
|
|
81
|
-
var S = s(
|
|
81
|
+
var S = s(1002), F = s(1275), N = s(7102), A = s(2204), P = s(8797), M = s(9010), z = s(8389), O = s(8603);
|
|
82
82
|
let R = {
|
|
83
83
|
iPhoneSE: {
|
|
84
84
|
width: 375,
|
|
@@ -514,7 +514,7 @@
|
|
|
514
514
|
]
|
|
515
515
|
});
|
|
516
516
|
};
|
|
517
|
-
var G = s(
|
|
517
|
+
var G = s(6103);
|
|
518
518
|
let Z = (e)=>{
|
|
519
519
|
let { className: t, style: s, direction: r = "horizontal", children: o, autoSaveId: a, ...i } = e, n = c.Children.toArray(o).filter((e)=>c.isValidElement(e) && e.type === L), d = c.useCallback(()=>{
|
|
520
520
|
if (!a) return null;
|
|
@@ -567,7 +567,7 @@
|
|
|
567
567
|
children: t
|
|
568
568
|
});
|
|
569
569
|
};
|
|
570
|
-
var q = s(
|
|
570
|
+
var q = s(246), H = s(9850), J = s(8039);
|
|
571
571
|
let V = (e)=>(0, l.jsxs)("svg", {
|
|
572
572
|
xmlns: "http://www.w3.org/2000/svg",
|
|
573
573
|
fill: "none",
|
|
@@ -1585,7 +1585,7 @@
|
|
|
1585
1585
|
]
|
|
1586
1586
|
});
|
|
1587
1587
|
};
|
|
1588
|
-
var K = s(
|
|
1588
|
+
var K = s(3985), Y = s(9384), Q = s(1257), ee = s(8028), et = s(1330), es = s(9529);
|
|
1589
1589
|
let el = (0, c.memo)((e)=>{
|
|
1590
1590
|
let { counts: t, isRunning: s } = e, r = s && 0 === t.running;
|
|
1591
1591
|
return (0, l.jsx)("div", {
|
|
@@ -1725,7 +1725,7 @@
|
|
|
1725
1725
|
]
|
|
1726
1726
|
});
|
|
1727
1727
|
};
|
|
1728
|
-
var eo = s(
|
|
1728
|
+
var eo = s(3615), ea = s(1375), ei = s(2688), en = s(9656), ec = s(9520);
|
|
1729
1729
|
let ed = [
|
|
1730
1730
|
"pass",
|
|
1731
1731
|
"fail",
|
|
@@ -3069,7 +3069,7 @@
|
|
|
3069
3069
|
}, (o = self.rspackChunk_rstest_browser_ui = self.rspackChunk_rstest_browser_ui || []).forEach(r.bind(null, 0)), o.push = r.bind(null, o.push.bind(o));
|
|
3070
3070
|
var c = n.O(void 0, [
|
|
3071
3071
|
"783",
|
|
3072
|
-
"
|
|
3072
|
+
"464"
|
|
3073
3073
|
], ()=>n(5645));
|
|
3074
3074
|
c = n.O(c);
|
|
3075
3075
|
})();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
/*! LICENSE: lib-react.
|
|
2
|
-
/*! LICENSE: lib-react.
|
|
1
|
+
/*! LICENSE: lib-react.9b88cb98a5.js.LICENSE.txt */
|
|
2
|
+
/*! LICENSE: lib-react.9b88cb98a5.js.LICENSE.txt */ "use strict";
|
|
3
3
|
(self.rspackChunk_rstest_browser_ui = self.rspackChunk_rstest_browser_ui || []).push([
|
|
4
4
|
[
|
|
5
5
|
"783"
|
|
6
6
|
],
|
|
7
7
|
{
|
|
8
|
-
|
|
9
|
-
var r, l = n(1099), a = n(
|
|
8
|
+
530 (e, t, n) {
|
|
9
|
+
var r, l = n(1099), a = n(1979), o = n(7708);
|
|
10
10
|
function i(e) {
|
|
11
11
|
var t = "https://react.dev/errors/" + e;
|
|
12
12
|
if (1 < arguments.length) {
|
|
@@ -2327,7 +2327,7 @@
|
|
|
2327
2327
|
$(lW, lW.current), $(lU, e), null === l$ && (l$ = e);
|
|
2328
2328
|
}
|
|
2329
2329
|
function lV(e) {
|
|
2330
|
-
22 === e.tag ? ($(lW, lW.current), $(lU, e), null === l$ && (l$ = e)) : lB(
|
|
2330
|
+
22 === e.tag ? ($(lW, lW.current), $(lU, e), null === l$ && (l$ = e)) : lB();
|
|
2331
2331
|
}
|
|
2332
2332
|
function lB() {
|
|
2333
2333
|
$(lW, lW.current), $(lU, lU.current);
|
|
@@ -2903,8 +2903,8 @@
|
|
|
2903
2903
|
}, function(e) {
|
|
2904
2904
|
for(f.status = "rejected", f.reason = e, e = 0; e < c.length; e++)(0, c[e])(void 0);
|
|
2905
2905
|
}), f);
|
|
2906
|
-
a5(e, t, d, uo(
|
|
2907
|
-
} else a5(e, t, r, uo(
|
|
2906
|
+
a5(e, t, d, uo());
|
|
2907
|
+
} else a5(e, t, r, uo());
|
|
2908
2908
|
} catch (n) {
|
|
2909
2909
|
a5(e, t, {
|
|
2910
2910
|
then: function() {},
|
|
@@ -3443,7 +3443,7 @@
|
|
|
3443
3443
|
baseLanes: 0,
|
|
3444
3444
|
cachePool: null
|
|
3445
3445
|
}, null !== e && ln(t, null !== a ? a.cachePool : null), null !== a ? lA(t, a) : lM(), lV(t);
|
|
3446
|
-
} else null !== a ? (ln(t, a.cachePool), lA(t, a), lB(
|
|
3446
|
+
} else null !== a ? (ln(t, a.cachePool), lA(t, a), lB(), t.memoizedState = null) : (null !== e && ln(t, null), lM(), lB());
|
|
3447
3447
|
return ow(e, t, l, n), t.child;
|
|
3448
3448
|
}
|
|
3449
3449
|
function o_(e, t) {
|
|
@@ -3530,7 +3530,7 @@
|
|
|
3530
3530
|
var r, l = t.pendingProps, a = !1, o = 0 != (128 & t.flags);
|
|
3531
3531
|
if ((r = o) || (r = (null === e || null !== e.memoizedState) && 0 != (2 & lW.current)), r && (a = !0, t.flags &= -129), r = 0 != (32 & t.flags), t.flags &= -33, null === e) {
|
|
3532
3532
|
if (rP) {
|
|
3533
|
-
if (a ? lj(t) : lB(
|
|
3533
|
+
if (a ? lj(t) : lB(), (e = rz) ? null !== (e = null !== (e = sL(e, rT)) && "&" !== e.data ? e : null) && (t.memoizedState = {
|
|
3534
3534
|
dehydrated: e,
|
|
3535
3535
|
treeContext: null !== rv ? {
|
|
3536
3536
|
id: rb,
|
|
@@ -3542,14 +3542,14 @@
|
|
|
3542
3542
|
return sD(e) ? t.lanes = 32 : t.lanes = 0x20000000, null;
|
|
3543
3543
|
}
|
|
3544
3544
|
var u = l.children;
|
|
3545
|
-
return (l = l.fallback, a) ? (lB(
|
|
3545
|
+
return (l = l.fallback, a) ? (lB(), u = o$({
|
|
3546
3546
|
mode: "hidden",
|
|
3547
3547
|
children: u
|
|
3548
3548
|
}, a = t.mode), l = ro(l, a, n, null), u.return = t, l.return = t, u.sibling = l, t.child = u, (l = t.child).memoizedState = oA(n), l.childLanes = oM(e, r, n), t.memoizedState = oR, o_(null, l)) : (lj(t), oU(t, u));
|
|
3549
3549
|
}
|
|
3550
3550
|
var s = e.memoizedState;
|
|
3551
3551
|
if (null !== s && null !== (u = s.dehydrated)) {
|
|
3552
|
-
if (o) 256 & t.flags ? (lj(t), t.flags &= -257, t = oj(e, t, n)) : null !== t.memoizedState ? (lB(
|
|
3552
|
+
if (o) 256 & t.flags ? (lj(t), t.flags &= -257, t = oj(e, t, n)) : null !== t.memoizedState ? (lB(), t.child = e.child, t.flags |= 128, t = null) : (lB(), u = l.fallback, a = t.mode, l = o$({
|
|
3553
3553
|
mode: "visible",
|
|
3554
3554
|
children: l.children
|
|
3555
3555
|
}, a), u = ro(u, a, n, null), u.flags |= 2, l.return = t, u.return = t, l.sibling = u, t.child = l, lk(t, e.child, null, n), (l = t.child).memoizedState = oA(n), l.childLanes = oM(e, r, n), t.memoizedState = oR, t = o_(null, l));
|
|
@@ -3566,7 +3566,7 @@
|
|
|
3566
3566
|
} else sO(u) ? (t.flags |= 192, t.child = e.child, t = null) : (e = s.treeContext, rz = sF(u.nextSibling), r_ = t, rP = !0, rN = null, rT = !1, null !== e && rC(t, e), t = oU(t, l.children), t.flags |= 4096);
|
|
3567
3567
|
return t;
|
|
3568
3568
|
}
|
|
3569
|
-
return a ? (lB(
|
|
3569
|
+
return a ? (lB(), u = l.fallback, a = t.mode, c = (s = e.child).sibling, (l = rr(s, {
|
|
3570
3570
|
mode: "hidden",
|
|
3571
3571
|
children: l.children
|
|
3572
3572
|
})).subtreeFlags = 0x3e00000 & s.subtreeFlags, null !== c ? u = rr(c, u) : (u = ro(u, a, n, null), u.flags |= 2), u.return = t, l.return = t, l.sibling = u, t.child = l, o_(null, l), l = t.child, null === (u = e.child.memoizedState) ? u = oA(n) : (null !== (a = u.cachePool) ? (s = r1._currentValue, a = a.parent !== s ? {
|
|
@@ -5413,7 +5413,7 @@
|
|
|
5413
5413
|
if (null === t.stateNode) throw Error(i(166));
|
|
5414
5414
|
return oJ(t), null;
|
|
5415
5415
|
}
|
|
5416
|
-
e = j.current, rR(t) ? rD(t
|
|
5416
|
+
e = j.current, rR(t) ? rD(t) : (t.stateNode = e = sI(l, r, n), oK(t));
|
|
5417
5417
|
}
|
|
5418
5418
|
return oJ(t), null;
|
|
5419
5419
|
case 5:
|
|
@@ -5423,7 +5423,7 @@
|
|
|
5423
5423
|
if (null === t.stateNode) throw Error(i(166));
|
|
5424
5424
|
return oJ(t), null;
|
|
5425
5425
|
}
|
|
5426
|
-
if (a = j.current, rR(t)) rD(t
|
|
5426
|
+
if (a = j.current, rR(t)) rD(t);
|
|
5427
5427
|
else {
|
|
5428
5428
|
var o = sy(V.current);
|
|
5429
5429
|
switch(a){
|
|
@@ -7729,7 +7729,7 @@
|
|
|
7729
7729
|
}
|
|
7730
7730
|
};
|
|
7731
7731
|
var cI = a.version;
|
|
7732
|
-
if ("19.2.
|
|
7732
|
+
if ("19.2.5" !== cI) throw Error(i(527, cI, "19.2.5"));
|
|
7733
7733
|
if (F.findDOMNode = function(e) {
|
|
7734
7734
|
var t = e._reactInternals;
|
|
7735
7735
|
if (void 0 === t) {
|
|
@@ -7807,10 +7807,10 @@
|
|
|
7807
7807
|
if (!cU.isDisabled && cU.supportsFiber) try {
|
|
7808
7808
|
ep = cU.inject({
|
|
7809
7809
|
bundleType: 0,
|
|
7810
|
-
version: "19.2.
|
|
7810
|
+
version: "19.2.5",
|
|
7811
7811
|
rendererPackageName: "react-dom",
|
|
7812
7812
|
currentDispatcherRef: D,
|
|
7813
|
-
reconcilerVersion: "19.2.
|
|
7813
|
+
reconcilerVersion: "19.2.5"
|
|
7814
7814
|
}), em = cU;
|
|
7815
7815
|
} catch (e) {}
|
|
7816
7816
|
}
|
|
@@ -7822,10 +7822,10 @@
|
|
|
7822
7822
|
if (!u(e)) throw Error(i(299));
|
|
7823
7823
|
var l = !1, a = "", o = of, s = od, c = op, f = null;
|
|
7824
7824
|
return null != n && (!0 === n.unstable_strictMode && (l = !0), void 0 !== n.identifierPrefix && (a = n.identifierPrefix), void 0 !== n.onUncaughtError && (o = n.onUncaughtError), void 0 !== n.onCaughtError && (s = n.onCaughtError), void 0 !== n.onRecoverableError && (c = n.onRecoverableError), void 0 !== n.formState && (f = n.formState)), (t = cr(e, 1, !0, t, null != n ? n : null, l, a, f, o, s, c, cR)).context = n7, n = t.current, (a = lC(l = eL(l = uo()))).callback = null, l_(n, a, l), n = l, t.current.lanes = n, ez(t, n), uW(t), e[eI] = t.current, se(e), new cM(t);
|
|
7825
|
-
}, t.version = "19.2.
|
|
7825
|
+
}, t.version = "19.2.5";
|
|
7826
7826
|
},
|
|
7827
|
-
|
|
7828
|
-
var r = n(
|
|
7827
|
+
7850 (e, t, n) {
|
|
7828
|
+
var r = n(1979);
|
|
7829
7829
|
function l(e) {
|
|
7830
7830
|
var t = "https://react.dev/errors/" + e;
|
|
7831
7831
|
if (1 < arguments.length) {
|
|
@@ -7936,27 +7936,27 @@
|
|
|
7936
7936
|
return u.H.useFormState(e, t, n);
|
|
7937
7937
|
}, t.useFormStatus = function() {
|
|
7938
7938
|
return u.H.useHostTransitionStatus();
|
|
7939
|
-
}, t.version = "19.2.
|
|
7939
|
+
}, t.version = "19.2.5";
|
|
7940
7940
|
},
|
|
7941
|
-
|
|
7941
|
+
725 (e, t, n) {
|
|
7942
7942
|
(function e() {
|
|
7943
7943
|
if ("u" > typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) try {
|
|
7944
7944
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e);
|
|
7945
7945
|
} catch (e) {
|
|
7946
7946
|
console.error(e);
|
|
7947
7947
|
}
|
|
7948
|
-
})(), e.exports = n(
|
|
7948
|
+
})(), e.exports = n(530);
|
|
7949
7949
|
},
|
|
7950
|
-
|
|
7950
|
+
7708 (e, t, n) {
|
|
7951
7951
|
(function e() {
|
|
7952
7952
|
if ("u" > typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) try {
|
|
7953
7953
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e);
|
|
7954
7954
|
} catch (e) {
|
|
7955
7955
|
console.error(e);
|
|
7956
7956
|
}
|
|
7957
|
-
})(), e.exports = n(
|
|
7957
|
+
})(), e.exports = n(7850);
|
|
7958
7958
|
},
|
|
7959
|
-
|
|
7959
|
+
2055 (e, t) {
|
|
7960
7960
|
var n = Symbol.for("react.transitional.element");
|
|
7961
7961
|
function r(e, t, r) {
|
|
7962
7962
|
var l = null;
|
|
@@ -7972,7 +7972,7 @@
|
|
|
7972
7972
|
}
|
|
7973
7973
|
t.Fragment = Symbol.for("react.fragment"), t.jsx = r, t.jsxs = r;
|
|
7974
7974
|
},
|
|
7975
|
-
|
|
7975
|
+
808 (e, t) {
|
|
7976
7976
|
var n = Symbol.for("react.transitional.element"), r = Symbol.for("react.portal"), l = Symbol.for("react.fragment"), a = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), i = Symbol.for("react.consumer"), u = Symbol.for("react.context"), s = Symbol.for("react.forward_ref"), c = Symbol.for("react.suspense"), f = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), p = Symbol.for("react.activity"), m = Symbol.iterator, h = {
|
|
7977
7977
|
isMounted: function() {
|
|
7978
7978
|
return !1;
|
|
@@ -8250,13 +8250,13 @@
|
|
|
8250
8250
|
return E.H.useSyncExternalStore(e, t, n);
|
|
8251
8251
|
}, t.useTransition = function() {
|
|
8252
8252
|
return E.H.useTransition();
|
|
8253
|
-
}, t.version = "19.2.
|
|
8253
|
+
}, t.version = "19.2.5";
|
|
8254
8254
|
},
|
|
8255
|
-
|
|
8256
|
-
e.exports = n(
|
|
8255
|
+
1979 (e, t, n) {
|
|
8256
|
+
e.exports = n(808);
|
|
8257
8257
|
},
|
|
8258
|
-
|
|
8259
|
-
e.exports = n(
|
|
8258
|
+
1627 (e, t, n) {
|
|
8259
|
+
e.exports = n(2055);
|
|
8260
8260
|
},
|
|
8261
8261
|
7146 (e, t) {
|
|
8262
8262
|
function n(e, t) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! LICENSE: lib-react.9b88cb98a5.js.LICENSE.txt */
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<script>
|
|
13
13
|
window.__RSTEST_BROWSER_OPTIONS__ = __RSTEST_OPTIONS_PLACEHOLDER__;
|
|
14
14
|
</script>
|
|
15
|
-
<script defer src="/container-static/js/lib-react.
|
|
15
|
+
<script defer src="/container-static/js/lib-react.9b88cb98a5.js"></script><script defer src="/container-static/js/464.ae4bcbdfb4.js"></script><script defer src="/container-static/js/index.c13dfe1ecf.js"></script><link href="/container-static/css/index.5c72297783.css" rel="stylesheet"></head>
|
|
16
16
|
<body>
|
|
17
17
|
<div id="root"></div>
|
|
18
18
|
</body>
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import promises from "node:fs/promises";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { isDeepStrictEqual } from "node:util";
|
|
5
|
-
import { color, getSetupFiles, getTestEntries, isDebug, loadCoverageProvider, logger, rsbuild, serializableConfig } from "@rstest/core/browser";
|
|
5
|
+
import { color, createCoverageProvider, getSetupFiles, getTestEntries, isDebug, loadCoverageProvider, logger, rsbuild, serializableConfig } from "@rstest/core/browser";
|
|
6
6
|
import open_editor from "open-editor";
|
|
7
7
|
import { basename, dirname, join, normalize, relative, resolve as external_pathe_resolve } from "pathe";
|
|
8
8
|
import sirv from "sirv";
|
|
@@ -3651,10 +3651,23 @@ const runBrowserController = async (context, options)=>{
|
|
|
3651
3651
|
if (skipOnTestRunEnd) return;
|
|
3652
3652
|
for (const reporter of context.reporters)await reporter.onTestRunStart?.();
|
|
3653
3653
|
};
|
|
3654
|
+
const coverageConfig = browserProjects.find((project)=>project.normalizedConfig.coverage?.enabled)?.normalizedConfig.coverage;
|
|
3655
|
+
const coverageProvider = coverageConfig?.enabled ? await createCoverageProvider(coverageConfig, context.rootPath) : null;
|
|
3654
3656
|
const notifyTestRunEnd = async ({ duration, unhandledErrors, filterRerunTestPaths })=>{
|
|
3655
3657
|
if (skipOnTestRunEnd) return;
|
|
3658
|
+
let mergedCoverage;
|
|
3659
|
+
if (coverageProvider) {
|
|
3660
|
+
const coverageMap = coverageProvider.createCoverageMap();
|
|
3661
|
+
let hasCoverage = false;
|
|
3662
|
+
for (const result of context.reporterResults.results)if (result.coverage) {
|
|
3663
|
+
coverageMap.merge(result.coverage);
|
|
3664
|
+
hasCoverage = true;
|
|
3665
|
+
}
|
|
3666
|
+
if (hasCoverage) mergedCoverage = coverageMap.toJSON();
|
|
3667
|
+
}
|
|
3656
3668
|
for (const reporter of context.reporters)await reporter.onTestRunEnd?.({
|
|
3657
3669
|
results: context.reporterResults.results,
|
|
3670
|
+
coverage: mergedCoverage,
|
|
3658
3671
|
testResults: context.reporterResults.testResults,
|
|
3659
3672
|
duration,
|
|
3660
3673
|
snapshotSummary: context.snapshotManager.summary,
|
|
@@ -4221,7 +4234,6 @@ const runBrowserController = async (context, options)=>{
|
|
|
4221
4234
|
if (currentRunnerFramesSignature === signature) return;
|
|
4222
4235
|
await new Promise((resolve, reject)=>{
|
|
4223
4236
|
const waiters = runnerFramesWaiters.get(signature) ?? new Set();
|
|
4224
|
-
let timeoutId;
|
|
4225
4237
|
const cleanup = ()=>{
|
|
4226
4238
|
const currentWaiters = runnerFramesWaiters.get(signature);
|
|
4227
4239
|
if (!currentWaiters) return;
|
|
@@ -4233,7 +4245,7 @@ const runBrowserController = async (context, options)=>{
|
|
|
4233
4245
|
cleanup();
|
|
4234
4246
|
resolve();
|
|
4235
4247
|
};
|
|
4236
|
-
timeoutId = setTimeout(()=>{
|
|
4248
|
+
const timeoutId = setTimeout(()=>{
|
|
4237
4249
|
cleanup();
|
|
4238
4250
|
reject(new Error(`Timed out waiting for headed runner frames to be ready for ${testFiles.length} file(s).`));
|
|
4239
4251
|
}, RUNNER_FRAMES_READY_TIMEOUT_MS);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rstest/browser",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.8",
|
|
4
4
|
"description": "Browser mode support for Rstest testing framework.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"rstest",
|
|
@@ -48,22 +48,22 @@
|
|
|
48
48
|
"ws": "^8.20.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@rslib/core": "0.
|
|
51
|
+
"@rslib/core": "0.21.0",
|
|
52
52
|
"@types/convert-source-map": "^2.0.3",
|
|
53
|
-
"@types/picomatch": "^4.0.
|
|
53
|
+
"@types/picomatch": "^4.0.3",
|
|
54
54
|
"@types/ws": "^8.18.1",
|
|
55
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
55
|
+
"@typescript/native-preview": "7.0.0-dev.20260412.1",
|
|
56
56
|
"@vitest/snapshot": "^3.2.4",
|
|
57
57
|
"birpc": "^4.0.0",
|
|
58
58
|
"picomatch": "^4.0.4",
|
|
59
|
-
"playwright": "^1.59.
|
|
59
|
+
"playwright": "^1.59.1",
|
|
60
60
|
"@rstest/browser-ui": "0.0.0",
|
|
61
|
-
"@rstest/
|
|
62
|
-
"@rstest/
|
|
61
|
+
"@rstest/core": "0.9.8",
|
|
62
|
+
"@rstest/tsconfig": "0.0.1"
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"playwright": "^1.49.1",
|
|
66
|
-
"@rstest/core": "^0.9.
|
|
66
|
+
"@rstest/core": "^0.9.8"
|
|
67
67
|
},
|
|
68
68
|
"peerDependenciesMeta": {
|
|
69
69
|
"playwright": {
|
package/src/hostController.ts
CHANGED
|
@@ -8,7 +8,9 @@ import type { Rspack } from '@rstest/core';
|
|
|
8
8
|
import {
|
|
9
9
|
type BrowserTestRunOptions,
|
|
10
10
|
type BrowserTestRunResult,
|
|
11
|
+
type CoverageMapData,
|
|
11
12
|
color,
|
|
13
|
+
createCoverageProvider,
|
|
12
14
|
type FormattedError,
|
|
13
15
|
getSetupFiles,
|
|
14
16
|
getTestEntries,
|
|
@@ -1781,6 +1783,13 @@ export const runBrowserController = async (
|
|
|
1781
1783
|
}
|
|
1782
1784
|
};
|
|
1783
1785
|
|
|
1786
|
+
const coverageConfig = browserProjects.find(
|
|
1787
|
+
(project) => project.normalizedConfig.coverage?.enabled,
|
|
1788
|
+
)?.normalizedConfig.coverage;
|
|
1789
|
+
const coverageProvider = coverageConfig?.enabled
|
|
1790
|
+
? await createCoverageProvider(coverageConfig, context.rootPath)
|
|
1791
|
+
: null;
|
|
1792
|
+
|
|
1784
1793
|
const notifyTestRunEnd = async ({
|
|
1785
1794
|
duration,
|
|
1786
1795
|
unhandledErrors,
|
|
@@ -1798,9 +1807,26 @@ export const runBrowserController = async (
|
|
|
1798
1807
|
return;
|
|
1799
1808
|
}
|
|
1800
1809
|
|
|
1810
|
+
// Merge per-file coverage into a single CoverageMapData for reporters
|
|
1811
|
+
let mergedCoverage: CoverageMapData | undefined;
|
|
1812
|
+
if (coverageProvider) {
|
|
1813
|
+
const coverageMap = coverageProvider.createCoverageMap();
|
|
1814
|
+
let hasCoverage = false;
|
|
1815
|
+
for (const result of context.reporterResults.results) {
|
|
1816
|
+
if (result.coverage) {
|
|
1817
|
+
coverageMap.merge(result.coverage);
|
|
1818
|
+
hasCoverage = true;
|
|
1819
|
+
}
|
|
1820
|
+
}
|
|
1821
|
+
if (hasCoverage) {
|
|
1822
|
+
mergedCoverage = coverageMap.toJSON();
|
|
1823
|
+
}
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1801
1826
|
for (const reporter of context.reporters) {
|
|
1802
1827
|
await reporter.onTestRunEnd?.({
|
|
1803
1828
|
results: context.reporterResults.results,
|
|
1829
|
+
coverage: mergedCoverage,
|
|
1804
1830
|
testResults: context.reporterResults.testResults,
|
|
1805
1831
|
duration,
|
|
1806
1832
|
snapshotSummary: context.snapshotManager.summary,
|
|
@@ -2731,7 +2757,6 @@ export const runBrowserController = async (
|
|
|
2731
2757
|
await new Promise<void>((resolve, reject) => {
|
|
2732
2758
|
const waiters =
|
|
2733
2759
|
runnerFramesWaiters.get(signature) ?? new Set<() => void>();
|
|
2734
|
-
let timeoutId: ReturnType<typeof setTimeout> | undefined;
|
|
2735
2760
|
|
|
2736
2761
|
const cleanup = () => {
|
|
2737
2762
|
const currentWaiters = runnerFramesWaiters.get(signature);
|
|
@@ -2752,7 +2777,7 @@ export const runBrowserController = async (
|
|
|
2752
2777
|
resolve();
|
|
2753
2778
|
};
|
|
2754
2779
|
|
|
2755
|
-
timeoutId = setTimeout(() => {
|
|
2780
|
+
const timeoutId = setTimeout(() => {
|
|
2756
2781
|
cleanup();
|
|
2757
2782
|
reject(
|
|
2758
2783
|
new Error(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! LICENSE: 407.89ee95c89d.js.LICENSE.txt */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! LICENSE: lib-react.f905279759.js.LICENSE.txt */
|