From 65e0f73a140f1dfc22519d53d5370076da091939 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Thu, 25 Sep 2025 15:29:20 +0200 Subject: [PATCH 01/63] Fix typos --- src/Report/Html/Renderer/Template/css/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Report/Html/Renderer/Template/css/style.css b/src/Report/Html/Renderer/Template/css/style.css index c8a4cf7f4..e2f451c4f 100644 --- a/src/Report/Html/Renderer/Template/css/style.css +++ b/src/Report/Html/Renderer/Template/css/style.css @@ -3,7 +3,7 @@ /* Implementing an auto-selection of dark/light theme via: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark */ color-scheme: light dark; - /* PHPUnit ligh/dark colors */ + /* PHPUnit light/dark colors */ --phpunit-breadcrumbs: light-dark(var(--bs-gray-200), var(--bs-gray-800)); --phpunit-success-bar: light-dark(#28a745 ,#1f8135); --phpunit-success-high: light-dark(#99cb84, #3d5c4e); @@ -14,7 +14,7 @@ --phpunit-danger: light-dark(#f2dede, #42221e); --phpunit-danger-bar: light-dark(#dc3545, #a62633); - /* Bootstrap v5.3 default colors (ligth, dark) */ + /* Bootstrap v5.3 default colors (light, dark) */ --bs-body-bg-rgb: light-dark((255, 255, 255), (33, 37, 41)); --bs-body-bg: light-dark(#fff, #212529); --bs-body-color-rgb: light-dark(33, 37, 41, 222, 226, 230); From b129b36a3fc9115e5552f546ef92ea15e6db0195 Mon Sep 17 00:00:00 2001 From: Valentin Kunz Date: Thu, 25 Sep 2025 11:42:09 +0200 Subject: [PATCH 02/63] report/html/styles: fix link colours Bootstrap uses --*-rgb style vars to construct colours via css functions, like rgba(). The light-dark() css function only handles colours, it does not work with rgb tuples as arguments. Instead of using light-dark(), define all --*-rgb vars within media queries. Signed-off-by: Valentin Kunz --- .../Html/Renderer/Template/css/style.css | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/Report/Html/Renderer/Template/css/style.css b/src/Report/Html/Renderer/Template/css/style.css index e2f451c4f..4303bf844 100644 --- a/src/Report/Html/Renderer/Template/css/style.css +++ b/src/Report/Html/Renderer/Template/css/style.css @@ -2,7 +2,7 @@ :root { /* Implementing an auto-selection of dark/light theme via: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/light-dark */ color-scheme: light dark; - + /* PHPUnit light/dark colors */ --phpunit-breadcrumbs: light-dark(var(--bs-gray-200), var(--bs-gray-800)); --phpunit-success-bar: light-dark(#28a745 ,#1f8135); @@ -15,7 +15,7 @@ --phpunit-danger-bar: light-dark(#dc3545, #a62633); /* Bootstrap v5.3 default colors (light, dark) */ - --bs-body-bg-rgb: light-dark((255, 255, 255), (33, 37, 41)); + --bs-body-bg-rgb: 255, 255, 255; --bs-body-bg: light-dark(#fff, #212529); --bs-body-color-rgb: light-dark(33, 37, 41, 222, 226, 230); --bs-body-color: light-dark(#212529, #dee2e6); @@ -28,7 +28,7 @@ --bs-dark-bg-subtle: light-dark(#ced4da, #1a1d20); --bs-dark-border-subtle: light-dark(#adb5bd, #343a40); --bs-dark-text-emphasis: light-dark(#495057, #dee2e6); - --bs-emphasis-color-rgb: light-dark((0, 0, 0), (255, 255, 255)); + --bs-emphasis-color-rgb: 0, 0, 0; --bs-emphasis-color: light-dark(#000, #fff); --bs-form-invalid-border-color: light-dark(#dc3545, #ea868f); --bs-form-invalid-color: light-dark(#dc3545, #ea868f); @@ -42,18 +42,18 @@ --bs-light-bg-subtle: light-dark(#fcfcfd, #343a40); --bs-light-border-subtle: light-dark(#e9ecef, #495057); --bs-light-text-emphasis: light-dark(#495057, #f8f9fa); - --bs-link-color-rgb: light-dark((13, 110, 253), (110, 168, 254)); + --bs-link-color-rgb: 13, 110, 253; --bs-link-color: light-dark(#0d6efd, #6ea8fe); - --bs-link-hover-color-rgb: light-dark((10, 88, 202), (139, 185, 254)); + --bs-link-hover-color-rgb: 10, 88, 202; --bs-link-hover-color: light-dark(#0a58ca, #8bb9fe); --bs-primary-bg-subtle: light-dark(#cfe2ff, #031633); --bs-primary-border-subtle: light-dark(#9ec5fe, #084298); --bs-primary-text-emphasis: light-dark(#052c65, #6ea8fe); - --bs-secondary-bg-rgb: light-dark((233, 236, 239), (52, 58, 64)); + --bs-secondary-bg-rgb: 233, 236, 239; --bs-secondary-bg-subtle: light-dark(#e2e3e5, #161719); --bs-secondary-bg: light-dark(#e9ecef, #343a40); --bs-secondary-border-subtle: light-dark(#c4c8cb, #41464b); - --bs-secondary-color-rgb: light-dark((33, 37, 41), (222, 226, 230)); + --bs-secondary-color-rgb: 33, 37, 41; --bs-secondary-color: light-dark(rgba(33, 37, 41, 0.75), rgba(222, 226, 230, 0.75)); --bs-secondary-text-emphasis: light-dark(#2b2f32, #a7acb1); --bs-success-bg-subtle: light-dark(#d1e7dd, #051b11); @@ -61,7 +61,7 @@ --bs-success-text-emphasis: light-dark(#0a3622, #75b798); --bs-tertiary-bg-rgb: light-dark(248, 249, 250, 43, 48, 53); --bs-tertiary-bg: light-dark(#f8f9fa, #2b3035); - --bs-tertiary-color-rgb: light-dark((33, 37, 41), (222, 226, 230)); + --bs-tertiary-color-rgb: 33, 37, 41; --bs-tertiary-color: light-dark(rgba(33, 37, 41, 0.5), rgba(222, 226, 230, 0.5)); --bs-warning-bg-subtle: light-dark(#fff3cd, #332701); --bs-warning-border-subtle: light-dark(#ffe69c, #997404); @@ -69,6 +69,16 @@ } @media (prefers-color-scheme: dark) { + :root { + --bs-body-bg-rgb: 33, 37, 41; + --bs-emphasis-color-rgb: 255, 255, 255; + --bs-link-color-rgb: 110, 168, 254; + --bs-link-hover-color-rgb: 139, 185, 254; + --bs-secondary-bg-rgb: 52, 58, 64; + --bs-secondary-color-rgb: 222, 226, 230; + --bs-tertiary-color-rgb: 222, 226, 230; + } + /* Invert icon's colors on dark mode to improve readability */ img.octicon { filter: invert(1); } } From fb262c7d419b4749567aaadc358c2c47fa6c61a6 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 26 Sep 2025 14:45:56 +0200 Subject: [PATCH 03/63] Update tools --- .phive/phars.xml | 4 ++-- tools/composer | Bin 3060478 -> 3125332 bytes tools/php-cs-fixer | Bin 3248666 -> 3468049 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.phive/phars.xml b/.phive/phars.xml index da39c81e8..5735ca8de 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,6 +1,6 @@ - + - + diff --git a/tools/composer b/tools/composer index 4fa5122674b5547ffb636d45baf8677227f4eef6..7f8a37dc21291018140af80a724d879f6b598559 100755 GIT binary patch delta 80989 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�GovK%S9?1Y3EyxawkXMB9fjnNT{3{vZE!! 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 eF}>WjlF>4R+U zCBIxcoez-}(0QFXZ>e_VNZL8l(Ow%+UR58c^-qY1iHPtI)Q(VT*}t+OwdM8t0KQQk z@2S;Qm1-+>L(3~0Dz$_4wRPpyRodz@ZEj|+HX$rJEQl86a*q5dxt4z@cjJjNik``h zgn1uEDEUIA1wTun;D;zj@z0eGcpQ;m&@Lk{FGTBAP^~TRS5;lB*VgwhuhZ7*2Q`$} z>MQkC_1c;Wy{=BLt<%?Qi})ND60@D93aBE3?a6zgIot=*w>{T@B$qxK5n8woQtq>O~-D@<__J zw$c{uvNADAZd%e0G4aUkMXNaz;hzHjcFao8$j;A5kcnLorKycp#x6F{rKCI*tf}u; ztE&eCh1K=n1LKh%;ujkR2J@bs?fAP^F8m%VYZ*51%~t6acyL={V$!v9zA0}rR_xKq znutAg)|q4k;|uZXrLJ4}GyUxN6V@SOk5|_D0u2?g)WITO&PNWkL!MjGpcxvmqa|X2jhu!~63$OYQhaPA;@2 zPp07C*f^56Ogh9Jn^Ujwp-u^WZ(Cb&-dfvS@!+tnPCN*<>n89y2`H*Q9^lM#9qjmN zYA-q@UuLKDVbu6*c3s5&@%H)R!A$!u!a#rMvhONAFK{}%zr;ZarW0h~(;Rw;eU~}( z5)WQGbQceLICdw^Oc=yNTJw%Tp#!mGrbL`tQGAhiQFj)H)Tr~xL^cGmp<}I+sGd@o zG}Ab#uT!4be}q$4fx*wf35pV4pJTd8Ah#G1#G{|x8p)5;1k$XI5_9FxW{mTCO{z#_ zhsK`_WBn16;+9P2J-gWP16^%-duOKBAm>bBs?A`^4;$N!5L{}Ys~Ml|Y{zeOwi0RW zbM7b}Si7_r4|=%7iwE;uVo67pI60!zCEpo*TAm%hPiw}TJDc%uTr5b#PEOD(V(%E$ zb-qgL%E!4nnxn&5!qj8KxAWaxBgp3u#Et@%Tc+|KyZG|ET`dG2z2qh)-84U}65JJe zeB|maG<p#&z~!x*6b6AgU6S{Y8fQFClKOda$^0 z(S9IODAUFfTjnZ=_D^-Tj0<=2ty-KM@x>v#jr@IWpvECkJc)Sj!{c|2IU<8!>Fvs& z_Oju7dwPh($9R^C2e&*6#e)uBB3Dn$O-x1%IHl&fc6R(8uL!aAu~#?oprbc)o7vus z;Zxq(Vw2YAL-C;6Cr1!49~}0a`SX?hNq1Mi#@md4=;I^yQ2TZidZ?jCbkyz7d7ElG zKFLSTFY>h!du;M;D<1senr`V&}uRuHq@MjS` z#$V)Q5Cllxn7^J19&z8FB`~)DmMR7XFrDuXND?W$3=s1pMpnU|zuF4g=o84aF()ut zU}ZV9e$@T{CXp&?BE z(;)i=&Bk~X$AS^_@pd08)m;El)D9;#mGc%6G?2R}!Fg#u~>B44}rd?e8Bl@KMi&PgZ~S}|gNPmP%^*tl1M3teI+ zb5wqWW6;NQ6Z?w&zer>YrcEn$rmmGpVLtS&u{b#!SO}rZY)yShqf#7=c)}+%f-kB? z|1sm6k_lgzWXF_{#Dw}GiBU{x&9dC5tt-Snj>!YWgYn5V;=%LePU1mU3LCXPh3Vw4 zlw`3fsSWEhz0C)LkTD8a74Gf606yhK`#zJpDdk{$K|sIM1aVMtYMglRajH0|Gibl6 z&%WJ!Zo6RKIZZ3Jrlg5}RtiDCDB_lvpw)e;gg&w|byx0Zk|p+Jh1G@Qde$AaiThyXi#R?IV}@aI>_9K5Ll=cXlcB$&D5SOWMU$I;&KrdURZM& zRR!%}0h)+3E~5JjSm~$f!pz>g3#*kDcVU_TS{GK;xO8O#^yw;Q2^q-vt%X%*rUJ+V zN91a99!!LiBkqa*;SI!^3*XpPx!{r9i=1N2A%1tE?GgwcZ(4Izs-&my$t{#hP^zG{ zncc(+D%jP;r2UrdXV?_MqWtdNS$$g7U5rIHxa!MVw=5i1K7pJmpVM7VmtU7!5pM_u zB#CG?-7{LKeZvb0uw%x@^D!%rcJyk!#DO) z(3GcgwepHFpK`r&1$)|pCQ_4*M=cgv3_4CVJ#VK)VR z^hEAN=CLG*xW8X@Dui%LD|C4*S1ISPF8t}hUNe-o2o70><wy0 zTP?4Yu&fbY$^vtADN9qAO2zB;PzMr$GyrccZn7ss?wNq|a2rExxe``AGp43{o!5DXa`ZJL>^k?el%GoACpK>u< zErCp}SXTK9diUIcN=gn$ZHP6?D2Rh%`wcL9B6esVD6>{N7=1Q*0P}-s14Md}(BjkX ztC6A~loMV#kVQ=3K+)jmK;Ey~7VTvh8A`rrfE~YMpm+t{0ldw`{PGZET+gji(A+Ch zIsbN`r6@Y75R*IZgmjx4Jsj2!Z|s%wn_Q#R82MUPktL}8S0GoEcd$2PrXVC_sZ29w z%alr%8>Uo>I}G1I-`!7-zhaA)0`tP$DtCcSIrz=$?TthDIhEmjk189Hm#V4^@xV~U zDnPU9bn#4XwU`#{Vc_!C$FKA5Jq0#HFG}r63G;A7(-Y6f0o5S7_qN}3l zeujmK$$@#11#rD1Br2mqgo}wUJBYmz^S?i^QSdso*FVMC>Ff(q z7hnmyt@nNC5 zGh8i+EX;>G;g9WGe-f@7v_ozAU4w1;pdrl2ZHBNEyK)GNo!3Ls$RB-0Vu;^%|6@H1 z5hV}fY3^N9OJ$|;@@w|cEYgEHCgNJoa|Ia0cp)L@i-wueng~-1a@k2Fia5h^iK8Hu zc)5YS9LZ_m6qi55*NOW_@)L)(6aDSfFfm2);8OSdhg1t24#~qq#Ma8;tRQF_E?W8y zgnj!u#R#Dr8Ns@xju4aiVjv$=E?)&vW5@Rzp%qf+EMo<8dIZ~I(~J}YrwJC2wFg}> zXf^z!5!U>T;c|ZQNVemqQa!aLyF&tAzvEsFHl*nQX z)ZG5zmr9LPX}}6t0uvx73N?l0XyyuiMvMJ*z~6{Z41Iaei5hXKY-3- zJ!anmZQAi~Mn{M$i5kOvs&NcUlBbPl+#1>1KA@59qik+utHs?$G5g$r@Hw+2?kC=J zB#1o5obUS)TM|ZpltzZJauM;<&wrl8pZ+LLVCAj7iHUXitY5)fScQ^5Hi6t`3o&9$ zPCh3{u>2zne*aij(3~I3LdkA;^r!ta==|Pq%o|`GO^3@ZZM0HJ@zzWFI6O7iM$O_+{ z6PYX@Ph^wbo+vJ0B{13dzYhG7Y2K8dJ=u!yH_27d#Tku>$()sM<${wc8scb>xhX3iAG*p(^b;@AylPuRcE6_l;Pnd#kyQah#8 zSVPrJ75yd_LLvP`^Kw{^M2%Q4m)h_Trz%CkUruE+c9_P*oIZ`IqInui|C;HH8QpZo z=Z5KQ9r%4ZtH2{?Fg^#(V8gc=4_?e*Zk95WP0=`0%uE$7CMJ!o%r*%g(KySTR_&5o zk}6me&;bx*pM@3ip3{Bk)s0enWwcSa!dYU){Q@>Fo?e0C6@%i&Y{ zbuCq}z};y!G-3lNXfRux_|Vym(Lu9WsO+1~RBSefZIb59VdBl0!^Ar|hiy*9&1KsJ z)8~rI!UnKM)CawTA=BIQy?G5y-6@5uOIUM+fKKJvzRYr-)n9+{Ea7&Y$Ex@F^VlpG z=7}3v7l7G6GYUIF&1cVt&u7e3&SwLU&S#PAxS*eC&W{#&5gR5U;-n^ej(p#R zRy2H%#Dz>|)f3{g&j#$}Kl)8*H>>`?%J#gYZ*9onB<5E+)Vu#F=6hMrl zK#0AjHGaWs_c`+WXfQb%DK;QV!}ks1b$1+jvM_*nu(Xf(i|*Dr)?h`gx5}K!D)0fM zhdAq-vB@pmk|vo8@$nX05%V^7i{n!dtNFr()^y|-GH-H*Ejx(o%Xi=AuYH28mK4Uy zX~*pnEAp0wK4OnU7Zds3OMPg?4v8OeVa|j&@y{FG_>jeINioa6h-26EbfjCNI0wED zOlZAZ;y?=gnDBtkAMN+&m#!2i1m(&3M~mG^Q=HfXu}@=18UOIQs9qSaq$|DxmVRV& zAigM`-SqbyBMmYKvYL4e;@btTbNQwv*+kD`0x@DrnWjZc{(Hfu^$_EzL&U#U_TXDu z3-?3oLS`|m} zNn6G%;+-?6ZwU&~t_URFj40xhn!&sH!rvYF>J>pm&yogW9KWkGKl1^&^$LID!ZeR~ z`&z_3K_`2b+3?!s3fk$kL`^=0DipPkSXC)62HDz@$*^IMClQ-`3NC@Cv?nK+B@ip( zS{-7O*iiSA5=Tdx)=&rgh?*4;U>CyT7ZPNj$5) z5&InY>wplnk5&bclPn?;KV5WOFX;UGr#5`fYFDxs7Cj`3=rXp;9b+S{JTG%4wyb1C zj2#?!M2L-))i!kVj}klbJ@b1+i;O3ic&9bpNCvB)5KniC7|4%V(~jsI#aR%)extDz zQkX#JCd4Ri^dJw2zg>MXUNBh7YCCFu6?lkac0qhJVr`z#dhIh?I_rCh8{v)R8eort zn+=TrP%=1DB#IcPYj;x67fw0kg2b21W)Y1z&+Cz!;8im}3nDXElp!hu2KE=Uch2#^PNmfE;AD#+VANZEtufiXU_c6&sCbSOgD%Yf2CF$ zr^x0#*Ld*PKaV2Lu)~GAMO>P;ZZ|)2U1#!~NsqY0LOw@W5oWEoL8hF^DaH?C-z{IM z_&Hk~dC(l+WxYMQ$83d|IkUSp8yZZ$XR8!q;gXBbgaE#=K9GFI8W3-s8R#xpD11XG zxy_sc(PvK5Gr=iNH7RJQwba9UCF26ICSo+7x-pe(XR1bQb7|ieaD@z##!?Yt7^&+5 z+1HUD{e=x|b4vZm2^Ld`d&jNqPFEzs@-XTPYdX_aZcWB9iiodImYf!wPc~UmcV{Uf z;q3ATvEQAq^7%g7z4?2aYzc0SqFNF6`)&H%I8I63iPVwwV6l(rzH8pkeCN$Eq@0aG zT%5S{8vk&+H(jg&F1}>Gg*a~g$c}=Fm?kXg%tki{p-j5Y918LCH~qfj2VH>zahrC zz3EjuD8sQ7MKKZQ?6`eIkiUA1E!oL9Mtsse+Y)>viBvOPBTl>DtT9f{zujU-X0b^S z%j2Cp35}z_u%ffwQ6@dPlQ5 z0de{2J=>T#mb`YW8~L3zA_n{_9Vg^%)aX~%axLk`%!7Dw&OHcOsHmE@x{z%wo)8yj zeE*TSCO+EgLzIjU#DlZ8Z7|A4i8HA7DNE;w*T&d=C}?o6z1)VZWBCcuS>EeUHWhHW z&59JUI7Hl#SWpQu<4qeKrLJTx3mU|4PXFO5ME%|`2zArS?MXRf6LH^@yj3kk{{o_A zp`ykR!yn173pPvIZcAn|^B`V2+FlC{vBa0D0x_~=o~=<){J!m4l9noxLR>tz=OXaf zC^C^567l-ipFHIw4Q)siJBfIGq{RjyXDl%IlKo5&!~uJ}JMqU20VIiCxg#bl3O^>K zOtRaDX8$U)CO&KkVq@fn*R0i+?*9#{*)xn`#J1(L%Y+1Ua+fWCb%#bXlerM$+9@_u zjrp(@zkinpCAZ;TP2(+@n*7PK7-G)U4_^uar`=_XU0ldHW;4WLJLf(YN@|#b-nb7X z?EG+1DTpsNpIyVohLShT2@t!c-U7w%>Oiit2ttf%`0_VFzbAM3lbg(;5ckhI`b5b3 zILXp`koCK1#YqtFg~XKdH_yUq53N(~OFYOlrXj?b;SS z^cPLMSOem&C)Ya)30Ii%w#=UFWI93oI_X>&qfYqiyDaGP+Y)O{EKAsk-Rr;ZWYlgP zYL|E3<4mrwni8??^|5XELHk_!qCKv}hIuSvcHQCI{PaCxB!Z=Q#7p+uq4M7D$lrk8 zJz1tgynf})43v*1u9SEZ6%zq5>rL_`G4J-@>rRxc1@V=8e;5ABUUzzfg0btEV2Hhk zOmBjgSn?HH7ZHPh9DWnrD2?DP3QRVL`Stb(fc*sG!F&qwRSzx`V%w2Fz0aMfyu{v! z@|S&&@~`)W6F-)t5moyZj^kVJk03{w^oSpISBLN;_eW$*G!cg*p5Js}uTh&&h?&&Y zmV~!2AF8hn&#EegM?uBM8Q~U58S{R`%4=`Npx4k=k0nuLA(IlZwd?*oe*axZKIlL^ z!JE=36r%L=4KDnk134sy<=cF1M<`1fh}*ly z!A>@m8CHiZ>D>)7Clbj7MfACvkZx?{o4 z{063tBVH{05r3NDvPwvHuaEeXYGxP2_-{VjCV1BCBhK{r*Ai>8i@6D66L&LMsPJJT z8h=pYPo}X}#19=uM+W1eIx8--XA?DZCy*YGorxsY(? zc8G;t0vy2+H1vB;sv$?2Q4qf!G4Gj}Tda@6Gls0hMD%GR)9}g1+mg{tCd6rjFJ8mx zsf(vPfOHQLb%PlAX66M{1GZSx)*ezP@`%|4@x<>}uRxYjQcT zJDVl0_jkePZ#Gx{K-i&4Tw4NE+@UnIW`Mo$&kSpgz~85WDwcG z@)_cmwFjC-G2fn2@HtWAl zFmoxy6FZ|i32{5?v@6-lm_qdUZBr|hk9J=t2_n`kJ`sN+7hefXJ-DIbgPWZ+QnuBG zXknOi*%%OU{K~VgyvJDuKc?AHbAic)D3SGwG4@KqUX%pMeMwI?3u46X7j1Y zlFsyrc-wDzs$l<3X9-_<)`jTUb{*owjrTmoY_jpJ4_U*U9r3NgaTt^lACNG%j3Zjt zcxUqo=h~B6mRb<|yqLTXdiv5+K2k5zk+mScoxAU}5N0^F`FSU@fyE$V_pf7YggWJ~ z^R~2kxy*xn$5IR8Jjwbk{M7Ru$QHIjA_krCpTYlpzAYKZ902k9!ex3`q+l`l&X=mr zN$fTCOf86xOIm+!G{*-#_gxg1;muyK_<|v5gb}aX8Vd{G`U}_iJBto2GKjEoRt1_9rNl#YBAx_=)XE
_< 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 From 16db030131b0c655e207f8fb4160463ecbec2d99 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 26 Sep 2025 14:46:58 +0200 Subject: [PATCH 04/63] Remove superfluous double-quotes --- .github/workflows/ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5db89ba35..c661729f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: name: CI env: - COMPOSER_ROOT_VERSION: "10.1.x-dev" + COMPOSER_ROOT_VERSION: 10.1.x-dev jobs: coding-guidelines: @@ -70,14 +70,14 @@ jobs: - windows-latest php-version: - - "8.1" - - "8.2" - - "8.3" - - "8.4" + - 8.1 + - 8.2 + - 8.3 + - 8.4 coverage-driver: - - "pcov" - - "xdebug3" + - pcov + - xdebug3 steps: - name: Configure Git to avoid issues with line endings From e73e258d4ea058507476821fae45be2fcb7e5c45 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 26 Sep 2025 14:47:37 +0200 Subject: [PATCH 05/63] Test with PHP 8.5 --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c661729f9..071d53ce3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -74,6 +74,7 @@ jobs: - 8.2 - 8.3 - 8.4 + - 8.5 coverage-driver: - pcov From 5a48b9090d904b8e5942012381b34dd6a9ebc4a8 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 26 Sep 2025 14:48:51 +0200 Subject: [PATCH 06/63] Introduce PHP_VERSION variable --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 071d53ce3..04c8c1649 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ name: CI env: COMPOSER_ROOT_VERSION: 10.1.x-dev + PHP_VERSION: 8.4 jobs: coding-guidelines: @@ -22,7 +23,7 @@ jobs: - name: Install PHP uses: shivammathur/setup-php@v2 with: - php-version: 8.3 + php-version: ${{ env.PHP_VERSION }} extensions: none, iconv, json, phar, tokenizer coverage: none tools: none From 8394b22decbd9019517011ed77ca9af9cce4dc59 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 26 Sep 2025 14:49:46 +0200 Subject: [PATCH 07/63] Do not fetch tags --- .github/workflows/ci.yml | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 04c8c1649..f597e2c6d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,18 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 + with: + fetch-depth: 1 + ref: ${{ github.event.pull_request.head.sha || github.sha }} + + - name: Use local branch + shell: bash + run: | + BRANCH=$([ "${{ github.event_name }}" == "pull_request" ] && echo "${{ github.head_ref }}" || echo "${{ github.ref_name }}") + git branch -D $BRANCH 2>/dev/null || true + git branch $BRANCH HEAD + git checkout $BRANCH - name: Install PHP uses: shivammathur/setup-php@v2 @@ -38,7 +49,18 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 + with: + fetch-depth: 1 + ref: ${{ github.event.pull_request.head.sha || github.sha }} + + - name: Use local branch + shell: bash + run: | + BRANCH=$([ "${{ github.event_name }}" == "pull_request" ] && echo "${{ github.head_ref }}" || echo "${{ github.ref_name }}") + git branch -D $BRANCH 2>/dev/null || true + git branch $BRANCH HEAD + git checkout $BRANCH - name: Install PHP uses: shivammathur/setup-php@v2 @@ -87,7 +109,18 @@ jobs: run: git config --global core.autocrlf false - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 + with: + fetch-depth: 1 + ref: ${{ github.event.pull_request.head.sha || github.sha }} + + - name: Use local branch + shell: bash + run: | + BRANCH=$([ "${{ github.event_name }}" == "pull_request" ] && echo "${{ github.head_ref }}" || echo "${{ github.ref_name }}") + git branch -D $BRANCH 2>/dev/null || true + git branch $BRANCH HEAD + git checkout $BRANCH - name: Install PHP with extensions uses: shivammathur/setup-php@v2 From eedaa99045bd0aeb552841b3b12079a23ee5ea06 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 26 Sep 2025 14:52:23 +0200 Subject: [PATCH 08/63] Cache Composer's cache directory --- .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f597e2c6d..1cc3fe31c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,6 +70,19 @@ jobs: coverage: none tools: none + - name: Get Composer cache directory + id: composer-cache + shell: bash + run: | + echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" + + - name: Cache Composer cache directory + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Update dependencies with composer run: ./tools/composer update --no-interaction --no-ansi --no-progress @@ -131,6 +144,19 @@ jobs: ini-values: ${{ env.PHP_INI_VALUES }} tools: none + - name: Get Composer cache directory + id: composer-cache + shell: bash + run: | + echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" + + - name: Cache Composer cache directory + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install dependencies with Composer run: php ./tools/composer update --no-ansi --no-interaction --no-progress From 084db8a9091d709dad93a7730e9efe57ad6969d2 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Fri, 26 Sep 2025 14:53:40 +0200 Subject: [PATCH 09/63] Also upload test results to codecov.io --- .github/workflows/ci.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1cc3fe31c..165cfd133 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -161,9 +161,19 @@ jobs: run: php ./tools/composer update --no-ansi --no-interaction --no-progress - name: Run tests with PHPUnit - run: vendor/bin/phpunit --coverage-clover=coverage.xml + run: vendor/bin/phpunit --log-junit test-results.xml --coverage-clover=code-coverage.xml - - name: Send code coverage report to Codecov.io + - name: Upload test results to Codecov.io + if: ${{ !cancelled() }} + uses: codecov/test-results-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + disable_search: true + files: ./test-results.xml + + - name: Upload code coverage data to Codecov.io uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} + disable_search: true + files: ./code-coverage.xml From ba70759fec4d74412f9854a5c613a5af3e4032d3 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Wed, 5 Nov 2025 12:44:20 +0100 Subject: [PATCH 10/63] Faster coverage-xml report --- src/Report/Xml/Coverage.php | 42 +++++++++++++------------------------ src/Report/Xml/Facade.php | 7 +------ 2 files changed, 15 insertions(+), 34 deletions(-) diff --git a/src/Report/Xml/Coverage.php b/src/Report/Xml/Coverage.php index afb70a069..812672081 100644 --- a/src/Report/Xml/Coverage.php +++ b/src/Report/Xml/Coverage.php @@ -10,7 +10,6 @@ namespace SebastianBergmann\CodeCoverage\Report\Xml; use DOMElement; -use SebastianBergmann\CodeCoverage\ReportAlreadyFinalizedException; use XMLWriter; /** @@ -18,48 +17,35 @@ */ final class Coverage { - private readonly XMLWriter $writer; private readonly DOMElement $contextNode; - private bool $finalized = false; + private readonly string $line; public function __construct(DOMElement $context, string $line) { $this->contextNode = $context; - - $this->writer = new XMLWriter; - $this->writer->openMemory(); - $this->writer->startElementNs(null, $context->nodeName, 'https://schema.phpunit.de/coverage/1.0'); - $this->writer->writeAttribute('nr', $line); + $this->line = $line; } - /** - * @throws ReportAlreadyFinalizedException - */ - public function addTest(string $test): void + public function finalize(array $tests): void { - if ($this->finalized) { - // @codeCoverageIgnoreStart - throw new ReportAlreadyFinalizedException; - // @codeCoverageIgnoreEnd + $writer = new XMLWriter; + $writer->openMemory(); + $writer->startElementNs(null, $this->contextNode->nodeName, 'https://schema.phpunit.de/coverage/1.0'); + $writer->writeAttribute('nr', $this->line); + + foreach ($tests as $test) { + $writer->startElement('covered'); + $writer->writeAttribute('by', $test); + $writer->endElement(); } - - $this->writer->startElement('covered'); - $this->writer->writeAttribute('by', $test); - $this->writer->endElement(); - } - - public function finalize(): void - { - $this->writer->endElement(); + $writer->endElement(); $fragment = $this->contextNode->ownerDocument->createDocumentFragment(); - $fragment->appendXML($this->writer->outputMemory()); + $fragment->appendXML($writer->outputMemory()); $this->contextNode->parentNode->replaceChild( $fragment, $this->contextNode, ); - - $this->finalized = true; } } diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index ba008f2ff..30c35e269 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -165,12 +165,7 @@ private function processFile(FileNode $file, Directory $context): void } $coverage = $fileReport->lineCoverage((string) $line); - - foreach ($tests as $test) { - $coverage->addTest($test); - } - - $coverage->finalize(); + $coverage->finalize($tests); } $fileReport->source()->setSourceCode( From 96939c7a3dbd1ae0a5c40dcc16f15289869f4b99 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Sat, 8 Nov 2025 13:23:47 +0100 Subject: [PATCH 11/63] Update tools --- .phive/phars.xml | 6 +++--- tools/composer | Bin 3125332 -> 3247733 bytes tools/php-cs-fixer | Bin 3468049 -> 3478210 bytes tools/phpstan | Bin 25370492 -> 25414301 bytes 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.phive/phars.xml b/.phive/phars.xml index 0b3478ad5..939d4b7a7 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,6 +1,6 @@ - - - + + + diff --git a/tools/composer b/tools/composer index 7f8a37dc21291018140af80a724d879f6b598559..f58976cb6952e153fde9252f67493e31a4ad1615 100755 GIT binary patch delta 81768 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 delta 20299 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 F{~zeT=xhK0 diff --git a/tools/php-cs-fixer b/tools/php-cs-fixer index e5b2c208643a12907c62c2c3fbdab3cacef33f08..997a14782e1522a1afbf099d257a5b02892a5972 100755 GIT binary patch delta 24270 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 delta 17888 zcma)DcUV+M*Wb(T!lmwA%F_O>MYnQTTkoy2D3>vC9Ur>-;Wyw>$r*4O~mEW6%X5xlY+$}~Z(Qnk+OKaU(TB+%Re8Vx<0r_qbMU`K_8L;8MfftO=1)~R&NWu0#w z^I4~rQ$K~)Y*=Kos@Q`FSx#i0t3RF4TjL}Kg5(OR8%}-L{MOFBS!bbhA7x<(OliDM zFDOh*9&Ox$nIs?Rq(pMx(NXcI$6pBmE;21E-VQ+fI>1L_f!gr2B-i^(8)N z#G^hv*&7dE6s*|yJ*EfH)R!GyUn-t=-4{L2(})f_(%43sRt66G{*H}$ zBJUm@u2T8k-?o6qO-HgWz>A#q*ONhhzHI7rzXI0z-ES!CWcf1={qK7n{~b0P1Xz zYfz3d!xd)4$KBaP^yN+@CD4_85~OD{wg+Xh&R;=ju-M>CWsNVm%71K+%u-ZzKiHjY z3HD=C&jr87I-wyLB-29}Cu6~3drg1&jGQ0kL>`1huxZ|*7>#2?QNQ~`(M?{3GW3u= z{k;P(GZk$N4nu9!g)v`S3!^joKiy39bwD;OgpqX%Ph*_{;oNb;)0x>o-1b!)N+51L z$*@*B+E`@aCk_NEN|2|vVw?U0PS7qd>05>D+Ez&RWGjq9V+4vhF#^Rr8!?#e7!%2i zI0i`ioO{y>^eS&;M}31elK2uqlbnrY{H(K9sRkY%V+&E|wYaTF(xTiMoqG_M!AY-tji)fu$t=#X;*{bUNc9GKR@w3-foXCiVq;dy?E3Jzex#>n#@W`8Q%1 zCLMpQ+vR2~+hq$#+Vkr+k>vJB zWfw9g&Y8{lAg+*g{)ii)2yhb^3h`f(Ll%r@3@v=1_7`XRq7`?>V{luVFjTTkENX{` zs8p6WKXq5Q*p^_V4S%Wa#m~96)i%ckw*e&B8=amdcdB_Vx!F3AuGMHfNlcQ4 zZE~sgV1@Q#n3B5xzzl`JEszj<%oKOiV zDActSq?pzg!R+(4C2Wo%wU~82Os!y@7pdJ?r)wIn+LDGkd6|~VhEmdT&ir(i8%$OJ z^ndKX2tMUchdft%i(0U~B4BVv5?eGpBawAhWw1p(LHlKc8~2mk4y}ksJ0lxSYsdVo z0Al--nBV;stu|&z^s$4bkJtp>r;vTr4uia7CVJ6|Onmb=lVMo}P>AYyXbBXR&DV8Bfc=MedS;<6>$AEm6fS|dqdR=+N+L%w3f`fXHY7OPO&QJdP^rXS zKgL74dAGYrtphFX?POHi(+f9Rkc~o};T`)Nlsh+vZBzvtjqTF6?%hVEE*c+6j!l_W zxgA&MI0_KOpTdX@nP254uE$Z5)h$cm#|o6aXv~w1N)7y|pQvc$WvHc_^oNcSlH2!# z9Zr(-OP$HvZjsDt(cLlY&+X3e#s&z*cHRD-5}Dh&dy$|X5}TUbBU{;O671bzF8-Av zQg_E?-Wn^~;;C^FZ*Z<|_dtJ4%EkOUKbN7>3ve-^aUjd5Ya#H@^|YtkbsBq-Lj!T| z*-_cYWUo@$_C0dzok$tIMY_mnX-UsHKn?B#Rg7ZGtvxZdKkvyLi6r;JaG%_(lR~Nm z(&D}CN9QXnXY_WYU%XNgM-P>N9cz-9hu)KwhqBGjLvvlq!%ECBfcfwwINMt|_u5iw28y&0)2Td)Kmx zan&+t7@U|Q<#tKnhhtEYc(fQal!Zk?h)Ol7)7fHvIH28*AfzmfFe z=oO2GGgB;pxqiX+WZMyr2$}en1zL+jRp3Gr8RnFcL;%ZfSM2{yVjnO1_d- z0m_efT3kBwMMN^J*oo{JW2dMo3%pHbdu0L->cwSN zH211nOIpU*Gts3IhV1g4M8CQ5lOb^g$g|S!YTZS5&e!IWt_r>1fZVWNhX(;Hh0BEO z#daJj(@GH-=9ID{Er$q5ExeAMX=Nxs2}l#XRJ&PcsV6>z~A$m!6Q(`p;Kwpr~c^7?=Xm6&V$S7P$o zQi+K9x{}4qJW%A!r)8UzkXA@|H><6v^p)D>zh{$%Dt0zm1(Sd4Z6g<-0m^oz>`NE!7xrJ;pI~`W6u3X!+I4?>K&ZN^MWhjl;_R_i;!ec|69}N8<-5npp~k z!C$*~{j8iej1wKn-tmqkd;%IaeFDPjx(OIBZziw}pA7;3zP>sVLqa65mge5Kv=>YH zajkYD>f`oAWIK8ihn7jmfAb`UXaqdq!RUx`-8zwWu+=D3XRAn_q znI=uaX&F-(_O1X~OhwvH!O5M-z$r!r=@#*7$^Z7#Q1Zdk*!+CpZ_0Y}5aKt>olKi%L(WWdR4j81VmQIK_IEI;6L~u= zhN&cOI_k1!I_mN)f8$+)skpcXZ%202Ah_SJVPJ6!y#4&j#Gi@ZR1kT(Eg3Qc5q#PV z4B=xluwbyBiTdh2v#r9=3DDQFP1V*4r)y`}k*1kgWL%humJa#={cOSq7!)V@8?O%$ zddGf-lGJ|eKt|2>QY1X@u2R*lYtbqW zG;gj0X_$?Prg=8f@%R|UDE}B?bMMD!2pik7zLB_7mVR@<_?4H!L+zX<{ zUEZ1AU#@l%)x4akn9F=30o=U(>2qr#H873n)~fa7(Oi+ye>E3(%$kQ{&Yy>>I5!W? z=sq8r$)AsWZk>;i{B%B6!m$gG&#?<|`B%L2&jNIzw1v1u%|eD#C7vo(O&ja&iWk%@ zvZZBvwf0gOz_V;ExlMQ;HH`Sp52V+(sh!1mF5J*Xtn&Q_?jW9Bg*sAp_*=Ek3WCpr zI#*sVx4XOE$WSbBf1aMkYy}04$2>tIYmw2hwHOACwWwn2I=t5GQHSC!s6+A2)Zsl- z;$l4U&tJ?CdMnr?uJfQ)0J_d(5OJp&U#sDi2k@^1YX-q9mbC;+p_c@4u&mFTh? zSF)7U1eXIoZ96H$Y zJ2LbsQ(eqzBh&JGt5KNktJ$SZ5IE%H)~!rr*iQy>W~~$Le!{{-S^;P$JAvFDwF+us zqV8YgNC%y>a1?cIP}H?+5b~a^LAu#%hq0Y@tY!B~BVmI9YqRbtEF0@1*=W!DF474I zba@lGZTDI8C9?3Lfi%{)Vly7rBi6KEhkGnthYoyy9joi61L^Pk>IaZ@$K6Qd8i|Zv z@5mNUTaQ;QKdi^N_x_YwTrQU5^xqbfbB7dp$<5Vp5%?)9@IHYOYRT~OA&MV8{uKSl z_!*PrdpK*h9r|jGqNuKo)jhAG=j4!tjR($t`V(qlg^mNBh7Ea<7ZfI%42*%ok z4S3WzwV{I)jmV+2Q$M&*YQgGhpE*(8b&Z$k$*-+SK1W>~`kb-yFjl21UeGX8kwV^V z!bOW9@jpDzR(yeZw&@ED0f&vO)F=Xe&OF<7jAVRkAT=9XGoJQsL>1d_VkemMfhyGy zU-!j|FgL#NAgebyu&FyXjbt77&4>!so7u#HyVtN2D@Y&4KXTlBQ%26$2&UX{zO z>(#U?q;97yp`P^Ff|+dWmaft(Jgms=pQmZL;w-neptI<=GO1%AL!CBSX>n9fo32^7 zi7&a9c5THg(+68IUnOtDc>j1CD)9QY0gU~W?O0t+S^il7)s0o&@zJzC1;YDG zgGhZOwLzTBgRJWggy97{+DLwQAtbk_Gw<3dzR}!ZMI&`;d%EC5Zx;pOE6~;DHvOvK z95VJQ(wsSuzZa^e&Xka#6ypx>)g2A|!Pw$Ta>~v)_JibJN!@fkUuK$vSz70rJ^3B`@3QEXpjJy04_|U9v=arekN;Yg=9vkvVi7RQpBW=11iRvM$jBMM3 zHR9VnEH~(Zsklovn-qUB?scTn9gU~-7_}m|2|r9&qolqwFna5OCP11M!|+mW2Yp*S z4A;goPWtRc1m3Y1WqG}q1#`T=N)@K5s3Et%1IPnva~@duieIAA$d-Mq67_)UBd$KQ z7)3y6$llMg@nvvu^;+kioMCcvuN_@`$3iEb#Rw<&_9Ke4J%HuchX+_yFc_er?TjD( zB#(9*$gKnHSZWVhyq{&xG|0UMn!FCaSPsBCh-4qc;9PhRE%iO`xHY0CiyCp0osAfe z&l<5RF*Tv5S2wZZy&fu^Fd=OQ5q>t%Hcu?##N8OT#O@GYq7@y&a_9IVb}8)uwYTBR zkLM_86MhKpZ~wG#6;+UPl=7(RFzWlvVWz(-IDj?%Fp;yXnQDKBVUk19@{? zBvX!iFn&Kdj-Yb$I67Oz3541yClG4Soj`tlPGYCzBwDKBWSW8+zk#2hsD8ATL9OnT zKck*-iWOSx!9{x?d$LbX$JEnL8!EjY!L%>8>1l48WrUJPbhNFn+D*C&CXkIIw>=k~ zNGD?(U8(0Pa4l;Ti4>nkb#6V4Dt~jD9iS^<(T1_ki3%K!I1{CCcmYu8_J)7L7>6y* zR^;n5o{Y;M&m=2T?t&0&9%XKq6-ozeu?Q3|0~jklGPD^D^hI-PW$s8nsNb9(>Nz=o z<*gaeu}kB;K4ivS1HG`tB3N9G^%og?mTBrdY?8Qa=LnfO+JCb}xYPz6QEqE%q91^) z2J-Nh4QX`_ohthr#^dU9y`-r)U2gOJ>&7b3vi&0b zBwcf!6%TJf89l>m3zWPdeTRiw`gf?v+V9ZkE`Nu&Loweow5x-_KDe&N1rR8RHV49I z?R-p#@;OZ{cmfDmkbXDh8iY~mHp^egQCX-r%Zo7s?e02?dA?JFgbObJg;7=7mqBLn4Hgj9uwtH9(0chD-EhRhN4&=m!NoUlhkZBDq%Aja^KLhpb~b~$?swTT zLn%Zb-m<0V;z0fao~C}kiHGLcTexugEu?ww7J``XZFIe{x6xk?+(v-3_z6!T{eR+D zpFeeyo+9$dZN~ZTF_3An1n>DXD_#dfNN=$2pQ3=j%vDpg+Cw~#fJPqujLf9|!fpy8 z0Q_PCX04LrntBGoSGM2L4dizDkO?~#U%&f{QF?=JF1H_@{pp5MGDZK&Dzn!Rd&d%Y zWRbCO;Hmf(v&zn2F;-vx%JTag2%yl=$ur~=16w~Y8u82Dz~madlSi=-x)yO2!~%u#VqfkNPh5+6|MgnENY*Q&ZED> z3fw$6?|1f!-^-_w$#*ax)ZanfJiLRZOS+44OuEb1F9RuEet30QMtl-+&z_$7MB^;h z@+@zE56zf&kA3$01-M`0f7(%j!Fhj3bpJ|Cka(0AAQt!8k4X+d+9>Xk)>^50THSM? z^m7Ye(r{nHU}(?%JO#kzLuJ$vzhjU6v)R9kSL$n!b zx4$(;X(D>2+;-h!bCD&7iU%wf^xy{(8YM=vz~(pOkJ%WdBK6HalCH(egD0L=A2 zooVAMjia~^;gB@`iAu12ik*H>*?s7Hz}&vC3mg=?{nH3`D}_`nlO!!q5nkH=RlwNY z@)sT*t)F2QDtU&t3`d?}5$X3gYG>5nh$OrJPQ;Y;cZReuicy!_tY5Drkc{Vu#UDS% zEAIWz(ZwxaB(a5=FHmu_Um)^ae}TIM{1eUQ^!*37+wc#o^1gwzNSjxY0dr z;io(sxIWsxWaX$mV5(i(-P1iQBiSQgy-sqsVJIIY!{xn(;?3I-?LlDxH z@d}V>g6p*c5W$b;=E4bAgHp=vwgV4)Fcx-<)Vhi1aER(HaQR4hbM#K*RJu?PeAZY9 ztj45kEs!I6-$G#Oppj~Uu}dq|0=wR(`_uv}Vy6J1*}GfvWI{nSMk6pFpxrgXf6Z|^ zE0GX~7jDGZBGQb`YCG{4{7yvAYXoL&s@HPjgS4E9jaq?u9(|}4n7V1WrI4hk;1vW@ z`Zv~<;7&f&cNBc)dx*B8n=CoYe^_!cqOAVKQLkrDycx^x1zH2GwM84zCM$szz_J?O zYigg$)EFfStjML^MS(dboi7T^2k8Y-V5bu5XU$nJwdR6tvliG-U+6t+;lB>}YrSta zBQ6e8yNM^bjb_;Vi-T7VGp{R-Jhj`u9GTkKa{0R1a;+`56^SFL?K$!J_JT=K^#LH6*Iamk^n7hx)*HBuv0L1e+xLodX$-Yh-e>%1OU3b1m=%&A_C zwKPYrwIPmtlX^#i6%J29)bjozU0Lu*PCR&`ojBFWPG}4H*Gv1=qPGlr^lTUSx{}1@ zwRRSQ88`9HT;8$HLad_jqmZ>VQR%zhCIcV6X5ec*T@jGzAXmP}l6UVex(X~sP!BhO z!7uIO#zS?b8|USsn-IxFv~=h1GTb@6iSB%Kllwak+=Xzq!p4Jh+UZ?yriZ|?7TxW^ zSKRgBR6INdRx;9(cfEt2+$7ds0xOJYo|nLCvJwE0fj(9#G~Y`IrVj{s<4Nw<&%6Yd z{Ajkfz{&=HF#D2mgDmMAdHOkTA&_zU!dqYkiIWlhqTlC#QM+KlgWmEK>}Z9L;LBza zAEA)-Ui%2_#)9_r71%-71xOFyICUT6x?`G?!J4M z;wP}X7`ntyU}sHw)sGv>=+6x>z@IzxDt~U|>;7C#p#hw7MF0o20|5dn#;9$ez)mi7 zP@uq$qO>7U$Y=by1o3x8K|ET&3KCeQKsCVvD;0JEN_&0TyPS><5+dlFV8NL!Ul+_5 zJqYHuN)6#8>p}!}UH&&Hrr)lsAJUirA%JfGNDE)WxYc|@Ie+D$Tn=-nzzWA@VVJY} z!_niLK7yX=y}(Wxp@KC%IZ5kHYr}XJSRN*@YK&eB<4lEyb6u7~Pl?hqAjwrLLxF5I zBy>F-4Zf_EzzQpx)k;X0W?-EsxBJc>Z)V)@ZzZ@h;V-umB3RElf@5Az1h>?}2;A`r zNV+a;;tJ{=DfrP_C2C8$d7Rc(io;q9oSPvDC0oWOBA=0nG3ivnft`eWbQE@ZTKGj+Hj%gx8YO{ zwBfwGYQs6rOyNkoJcWDe)f9x(o8a#&rK2fuRCA#bse&)PRj095K5;dJ-eiE3+m>D< z=fPo2nF1FbDT0pXPIR?aev*{U9pZ3X4rsbmM1oJi&fy6^7sGKI*G^9rLYS^Mr}BjM zIF-w8OcR3GXxB6@-Ly3B1mC8iW|pOMfn(EomdH!z>isyKEB|;pS71vz5A}8#+{9xt zgiy8_l>O1t_jofRw`7uY72VkpPFm^h1Y0_HipEDA&gJxN$Nh6mJFd{}?KqQvw-Zd# zRy-uj?e_5>Sru2;ia|F3fv$>H?{jxzZEu8@1eP_b=qEdi+C6nIl#34DXv(R4Jg9m=O z?LZo1sb71(E^C^FK}x}KxqZ<1cM(0+nR9B_h2veHE?n8`x^SK!b>W<5bmdakbmei@ z*p*|dK1)b+&+p8*liR*$&j0oqm{I-{N_%z%JQ&uj)zGqu7Lw?SxJOAAXX8Q^Pf70C z+`jqQ+~%KU3n|jTL`Gh2J<_W0&_~%q0P`wC4noB2?l}TH7VxOy(ZHiMch9jrzArQ} ze|YQogrub5$+58`TPMXO$G6Up$xlpf-8vyQKe-?|KW0Q?OlB`=Sq z0=+Up=SX)D4=tVP;}J`J4|_P%ylFvgXlPB49i8Uuaa0o;G9`qT8a)Qn9fQ0rX;TL` zk>;rV?P=}FP#2n88m*&4#&}rLhU;FM*|YpT%(MJGI~P!0o@W#l=LI;@6T95>^zk)+ z8(MK9#&&k|Y)^CZY_G*_EW%Qjg?Jjw`wx4$eMN759nh6F)w;u-xUH8Z?K;u>Z}Y-Q z-c?$w>PZ!aRmM~*Tyr(h%IV%Kyp%U#gTrhh)2a%qI~0!0A6HTx8mPRcJ1qlS(E~Sp z{AX{d@rK6-9$$Ej<_$G|dq1T^Q~bnMW#z`|%KV~|qOwuOs*3y(ut8B-RZ&5qaYT7( zX<=ElvAoil+a2ZPZ1i=$*PLB&I30$_u)r!Up z@)hZ=z9DIJ=(ZpOjp-NSLMz7j+R)lzy>%*hGIf0&+T9%fCNxhlpKA%dYC%7!i1wqk zKl|C49o1nYEQLyX{$sZ`bh1}OHyU#%+|}%26SiQ8I;VUBjjakDX>L;#mK~sle->8K zx>I2;^u+wIZ)tpen3r`)i8iP7i`h4fHr)pouGto4X`ZtuW>v?ikjTi2^2+Lv z2%FHV>PoP3n7nu8_`=FucpYH_<6!Kv>Y|ZFg_R-n;hPvEo&Pq*)%@ApnCpVkKQeMk zV0lG#QF+<>{wX$rvQy-j6|}1yRW)!hFiju7iSb#wKh}=^+AB^+R}%-TuWrUZ?M`?0 ziglt7d&K&hGjd~dCeg1>#KusE{HPKdb1F`2&N~^KqmcrEjVd4w0@?)TS60&e$Z#Ke zxjEK%cG}rkbK2Rs&jt!f%aVgU%x}Wu+iT6GG4X26{~Kb=%T4h+oN2{+lSrR8oAh$e ziO!!D=}j|gJ#^;7UE?pRsoVZogZX67_?30E;OF=(T5u=cgD#vUiRL#y$B*}>mv+Xw z(iXwgo{q3EmC{AwK012K!jwf_3az}C^|!U9N7W`z`m%kzfj)j5?@3QtVLsKUV!#j_+k|uQT-)=u*kliQ4E*AHj`nMQRq z>1d~HlWRgrQE5?im9ctsp;2~D=#?AuD=JDR$sKrWWBk{jipuih!V%SNsC~96oL+%!hJ;jAan!RmReB zRn^Afg|tUrfQt}D4|Oob+r4AGps13zWSc&ZEE);aivSa0L3yPNie=*q%ZeaiBL3GN zHZ+@F(Q}7Q9q6!fDW2AZ=<{iA zs;N884UhMxjo~JPx#GNOg@xFwW6wTadv)wU9WR*9(}^=p1I(K)nnnxM@scS>V^du@ ziMIR3&5h2xY;vH(ub7&Ii`ZRpDDrYQ6GFHLoJ@N+MpcC=I*2S9sTYe kx4ZNAbwleR`QMLRJO6O_H{CO@tQ;=??n2c$vs>o>05y(AOaK4? diff --git a/tools/phpstan b/tools/phpstan index f0a9cc3ee7f641a72ac022c6357e52e48bd93047..7462c8537619e4a87690cb1e7e9fbb40fdec2478 100755 GIT binary patch delta 121746 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

4A#bkrZef(u2Ah-?J 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 e?^k>OlG*i@ZAX?LtT;?dT>tc^KPARbkN Date: Sat, 8 Nov 2025 13:16:53 +0100 Subject: [PATCH 12/63] Fix FunctionCoverageDataType --- src/Data/ProcessedCodeCoverageData.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index 57ccbb166..976aaab38 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -38,8 +38,7 @@ * paths: array, * hit: list, - * }>, - * hit: list + * }> * } * @phpstan-type FunctionCoverageType array> */ From fd180b8ec3d8377bf42b3c5a8c16337be5401a80 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 13:56:01 +0100 Subject: [PATCH 13/63] Narrow types --- src/Data/ProcessedCodeCoverageData.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index 976aaab38..f08507ac4 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -123,11 +123,17 @@ public function lineCoverage(): array return $this->lineCoverage; } + /** + * @param FunctionCoverageType $functionCoverage + */ public function setFunctionCoverage(array $functionCoverage): void { $this->functionCoverage = $functionCoverage; } + /** + * @return FunctionCoverageType + */ public function functionCoverage(): array { ksort($this->functionCoverage); From 64e2dbf2803b1395dd0c0311287c4b091e3915c4 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 13:57:18 +0100 Subject: [PATCH 14/63] Narrow line-coverage types --- src/Data/ProcessedCodeCoverageData.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index f08507ac4..a3ed7136c 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -41,6 +41,7 @@ * }> * } * @phpstan-type FunctionCoverageType array> + * @phpstan-type LineCoverageType array>> */ final class ProcessedCodeCoverageData { @@ -48,7 +49,7 @@ final class ProcessedCodeCoverageData * Line coverage data. * An array of filenames, each having an array of linenumbers, each executable line having an array of testcase ids. * - * @var array>> + * @var LineCoverageType */ private array $lineCoverage = []; @@ -111,11 +112,17 @@ public function markCodeAsExecutedByTestCase(string $testCaseId, RawCodeCoverage } } + /** + * @param LineCoverageType $lineCoverage + */ public function setLineCoverage(array $lineCoverage): void { $this->lineCoverage = $lineCoverage; } + /** + * @return LineCoverageType + */ public function lineCoverage(): array { ksort($this->lineCoverage); From d9f8ea4b5125df475faf8bdd5440aeb396de5f42 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 13:58:58 +0100 Subject: [PATCH 15/63] Narrow return types --- src/Data/ProcessedCodeCoverageData.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index a3ed7136c..49a103236 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -148,6 +148,9 @@ public function functionCoverage(): array return $this->functionCoverage; } + /** + * @return array + */ public function coveredFiles(): array { ksort($this->lineCoverage); From 3b267aed06e5d5c69b87ea1f70f629efead64453 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 14:02:09 +0100 Subject: [PATCH 16/63] Prevent sorting coverage-data over and over --- src/Node/Builder.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Node/Builder.php b/src/Node/Builder.php index 19fc3a24d..15dc3103c 100644 --- a/src/Node/Builder.php +++ b/src/Node/Builder.php @@ -140,6 +140,9 @@ private function buildDirectoryStructure(ProcessedCodeCoverageData $data): array { $result = []; + $lineCoverage = $data->lineCoverage(); + $functionCoverage = $data->functionCoverage(); + foreach ($data->coveredFiles() as $originalPath) { $path = explode(DIRECTORY_SEPARATOR, $originalPath); $pointer = &$result; @@ -156,8 +159,8 @@ private function buildDirectoryStructure(ProcessedCodeCoverageData $data): array } $pointer = [ - 'lineCoverage' => $data->lineCoverage()[$originalPath] ?? [], - 'functionCoverage' => $data->functionCoverage()[$originalPath] ?? [], + 'lineCoverage' => $lineCoverage[$originalPath] ?? [], + 'functionCoverage' => $functionCoverage[$originalPath] ?? [], ]; } From 37047b5f0e98b31dccb9b7e7241e4f66ebfcd358 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 17:11:46 +0100 Subject: [PATCH 17/63] Prevent sorting covered-files over and over --- src/Node/Builder.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Node/Builder.php b/src/Node/Builder.php index 15dc3103c..9a2efe145 100644 --- a/src/Node/Builder.php +++ b/src/Node/Builder.php @@ -206,12 +206,14 @@ private function buildDirectoryStructure(ProcessedCodeCoverageData $data): array */ private function reducePaths(ProcessedCodeCoverageData $coverage): string { - if ($coverage->coveredFiles() === []) { + $coveredFiles = $coverage->coveredFiles(); + + if ($coveredFiles === []) { return '.'; } $commonPath = ''; - $paths = $coverage->coveredFiles(); + $paths = $coveredFiles; if (count($paths) === 1) { $commonPath = dirname($paths[0]) . DIRECTORY_SEPARATOR; @@ -263,7 +265,7 @@ private function reducePaths(ProcessedCodeCoverageData $coverage): string } } - $original = $coverage->coveredFiles(); + $original = $coveredFiles; $max = count($original); for ($i = 0; $i < $max; $i++) { From d96833f090bb6a17736b525be6cf4472793fa763 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Sun, 16 Nov 2025 11:15:33 +0100 Subject: [PATCH 18/63] Update tools --- .phive/phars.xml | 4 ++-- tools/composer | Bin 3247733 -> 3249738 bytes tools/phpstan | Bin 25414301 -> 25629515 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.phive/phars.xml b/.phive/phars.xml index 939d4b7a7..a9b83e89d 100644 --- a/.phive/phars.xml +++ b/.phive/phars.xml @@ -1,6 +1,6 @@ - - + + diff --git a/tools/composer b/tools/composer index f58976cb6952e153fde9252f67493e31a4ad1615..57222395314625833b1947b1c42537d33bd7a3bd 100755 GIT binary patch delta 12524 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 Z4WT+61}!y>)`P4(=p~97F(hip{{mW*x(xsT diff --git a/tools/phpstan b/tools/phpstan index 7462c8537619e4a87690cb1e7e9fbb40fdec2478..8c83a085ddc639cd3c98ebce960bedf708e23635 100755 GIT binary patch delta 397810 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

&u4!{ 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ʾTd7a3hD8EbPWhQr;A1DJ9?iH6!1p4qTP3 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

U^a&r=m(#{tOyMI(-#!{gL)G>*$2*y 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

aBz?SX*J`{E44?2b|I=?3rjsF*f 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

F4KP{-j^9-i*n= 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

' . count($methodData['paths']) . ' is too many paths to sensibly render, consider refactoring your code to bring this number down.

'; + if (count($methodData->paths) > 100) { + $pathStructure .= '

' . count($methodData->paths) . ' is too many paths to sensibly render, consider refactoring your code to bring this number down.

'; continue; } - foreach ($methodData['paths'] as $path) { - $pathStructure .= $this->renderPathLines($path, $methodData['branches'], $codeLines, $testData); + foreach ($methodData->paths as $path) { + $pathStructure .= $this->renderPathLines($path, $methodData->branches, $codeLines, $testData); } if ($pathStructure !== '') { @@ -902,9 +906,10 @@ private function renderPathStructure(FileNode $node): string } /** + * @param array $branches * @param list $codeLines */ - private function renderPathLines(array $path, array $branches, array $codeLines, array $testData): string + private function renderPathLines(ProcessedPathCoverageData $path, array $branches, array $codeLines, array $testData): string { $linesTemplate = new Template($this->templatePath . 'lines.html.dist', '{{', '}}'); $singleLineTemplate = new Template($this->templatePath . 'line.html.dist', '{{', '}}'); @@ -912,14 +917,14 @@ private function renderPathLines(array $path, array $branches, array $codeLines, $lines = ''; $first = true; - foreach ($path['path'] as $branchId) { + foreach ($path->path as $branchId) { if ($first) { $first = false; } else { $lines .= '  ' . "\n"; } - $branchLines = range($branches[$branchId]['line_start'], $branches[$branchId]['line_end']); + $branchLines = range($branches[$branchId]->line_start, $branches[$branchId]->line_end); sort($branchLines); // sometimes end_line < start_line /** @var int $line */ @@ -931,7 +936,7 @@ private function renderPathLines(array $path, array $branches, array $codeLines, $popoverContent = ''; $popoverTitle = ''; - $numTests = count($path['hit']); + $numTests = count($path->hit); if ($numTests === 0) { $trClass = 'danger'; @@ -945,7 +950,7 @@ private function renderPathLines(array $path, array $branches, array $codeLines, $popoverTitle = '1 test covers this path'; } - foreach ($path['hit'] as $test) { + foreach ($path->hit as $test) { if ($lineCss === 'covered-by-large-tests' && $testData[$test]['size'] === 'medium') { $lineCss = 'covered-by-medium-tests'; } elseif ($testData[$test]['size'] === 'small') { From 8243b5ce8870605b218690756a0b1ea704599576 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 18:10:49 +0100 Subject: [PATCH 49/63] Update TestCase.php --- tests/src/TestCase.php | 247 +++++++++++++++++++++-------------------- 1 file changed, 124 insertions(+), 123 deletions(-) diff --git a/tests/src/TestCase.php b/tests/src/TestCase.php index ba87455db..af2ed2766 100644 --- a/tests/src/TestCase.php +++ b/tests/src/TestCase.php @@ -9,6 +9,9 @@ */ namespace SebastianBergmann\CodeCoverage; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use function rmdir; use function unlink; use BankAccount; @@ -1560,201 +1563,199 @@ protected function getExpectedPathCoverageDataArrayForBankAccount(): array { return [ TEST_FILES_PATH . 'BankAccount.php' => [ - 'BankAccount->depositMoney' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 14, - 'line_start' => 20, - 'line_end' => 25, - 'hit' => [ + 'BankAccount->depositMoney' => new ProcessedFunctionCoverageData( + [ + 0 => new ProcessedBranchCoverageData( + 0, + 14, + 20, + 25, + [ 0 => 'BankAccountTest::testBalanceCannotBecomeNegative2', 1 => 'BankAccountTest::testDepositWithdrawMoney', ], - 'out' => [ - ], - 'out_hit' => [ - ], - ], + [], + [], + ), ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + 0 => new ProcessedPathCoverageData( + [ 0 => 0, ], - 'hit' => [ + [ 0 => 'BankAccountTest::testBalanceCannotBecomeNegative2', 1 => 'BankAccountTest::testDepositWithdrawMoney', ], - ], + ), ], - ], - 'BankAccount->getBalance' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 5, - 'line_start' => 6, - 'line_end' => 9, - 'hit' => [ + ), + 'BankAccount->getBalance' => new ProcessedFunctionCoverageData( + [ + 0 => new ProcessedBranchCoverageData( + 0, + 5, + 6, + 9, + [ 0 => 'BankAccountTest::testBalanceIsInitiallyZero', 1 => 'BankAccountTest::testDepositWithdrawMoney', ], - 'out' => [ + [ ], - 'out_hit' => [ + [ ], - ], + ), ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + 0 => new ProcessedPathCoverageData( + [ 0 => 0, ], - 'hit' => [ + [ 0 => 'BankAccountTest::testBalanceIsInitiallyZero', 1 => 'BankAccountTest::testDepositWithdrawMoney', ], - ], + ), ], - ], - 'BankAccount->withdrawMoney' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 14, - 'line_start' => 27, - 'line_end' => 32, - 'hit' => [ + ), + 'BankAccount->withdrawMoney' => new ProcessedFunctionCoverageData( + [ + 0 => new ProcessedBranchCoverageData( + 0, + 14, + 27, + 32, + [ 0 => 'BankAccountTest::testBalanceCannotBecomeNegative', 1 => 'BankAccountTest::testDepositWithdrawMoney', ], - 'out' => [ + [ ], - 'out_hit' => [ + [ ], - ], + ), ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + 0 => new ProcessedPathCoverageData( + [ 0 => 0, ], - 'hit' => [ + [ 0 => 'BankAccountTest::testBalanceCannotBecomeNegative', 1 => 'BankAccountTest::testDepositWithdrawMoney', ], - ], + ), ], - ], - '{main}' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 1, - 'line_start' => 34, - 'line_end' => 34, - 'hit' => [ - ], - 'out' => [ + ), + '{main}' => new ProcessedFunctionCoverageData( + [ + 0 => new ProcessedBranchCoverageData( + 0, + 1, + 34, + 34, + [ + ], + [ 0 => 2147483645, ], - 'out_hit' => [ + [ 0 => 0, ], - ], + ), ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + 0 => new ProcessedPathCoverageData( + [ 0 => 0, ], - 'hit' => [ + [ ], - ], + ), ], - ], - 'BankAccount->setBalance' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 4, - 'line_start' => 11, - 'line_end' => 13, - 'hit' => [ - ], - 'out' => [ + ), + 'BankAccount->setBalance' => new ProcessedFunctionCoverageData( + [ + 0 => new ProcessedBranchCoverageData( + 0, + 4, + 11, + 13, + [ + ], + [ 0 => 5, 1 => 9, ], - 'out_hit' => [ + [ 0 => 0, 1 => 0, ], - ], - 5 => [ - 'op_start' => 5, - 'op_end' => 8, - 'line_start' => 14, - 'line_end' => 14, - 'hit' => [ - ], - 'out' => [ + ), + 5 => new ProcessedBranchCoverageData( + 5, + 8, + 14, + 14, + [ + ], + [ 0 => 13, ], - 'out_hit' => [ + [ 0 => 0, ], - ], - 9 => [ - 'op_start' => 9, - 'op_end' => 12, - 'line_start' => 16, - 'line_end' => 16, - 'hit' => [ - ], - 'out' => [ + ), + 9 => new ProcessedBranchCoverageData( + 9, + 12, + 16, + 16, + [ + ], + [ 0 => 2147483645, ], - 'out_hit' => [ + [ 0 => 0, ], - ], - 13 => [ - 'op_start' => 13, - 'op_end' => 14, - 'line_start' => 18, - 'line_end' => 18, - 'hit' => [ - ], - 'out' => [ + ), + 13 => new ProcessedBranchCoverageData( + 13, + 14, + 18, + 18, + [ + ], + [ 0 => 2147483645, ], - 'out_hit' => [ + [ 0 => 0, ], - ], + ), ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + 0 => new ProcessedPathCoverageData( + [ 0 => 0, 1 => 5, 2 => 13, ], - 'hit' => [ + [ ], - ], - 1 => [ - 'path' => [ + ), + 1 => new ProcessedPathCoverageData( + [ 0 => 0, 1 => 9, ], - 'hit' => [ + [ ], - ], + ), ], - ], + ), ], ]; } From 7957d585485219d5d186295d3e5717293a57e342 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 18:10:58 +0100 Subject: [PATCH 50/63] cs --- src/Report/Html/Renderer/File.php | 8 ++++---- tests/src/TestCase.php | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Report/Html/Renderer/File.php b/src/Report/Html/Renderer/File.php index a141d2d77..ca7808e3b 100644 --- a/src/Report/Html/Renderer/File.php +++ b/src/Report/Html/Renderer/File.php @@ -9,9 +9,6 @@ */ namespace SebastianBergmann\CodeCoverage\Report\Html; -use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; -use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; -use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use const ENT_COMPAT; use const ENT_HTML401; use const ENT_SUBSTITUTE; @@ -109,6 +106,9 @@ use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use SebastianBergmann\CodeCoverage\FileCouldNotBeWrittenException; use SebastianBergmann\CodeCoverage\Node\File as FileNode; use SebastianBergmann\CodeCoverage\Util\Percentage; @@ -907,7 +907,7 @@ private function renderPathStructure(FileNode $node): string /** * @param array $branches - * @param list $codeLines + * @param list $codeLines */ private function renderPathLines(ProcessedPathCoverageData $path, array $branches, array $codeLines, array $testData): string { diff --git a/tests/src/TestCase.php b/tests/src/TestCase.php index af2ed2766..f8273d17c 100644 --- a/tests/src/TestCase.php +++ b/tests/src/TestCase.php @@ -9,14 +9,14 @@ */ namespace SebastianBergmann\CodeCoverage; -use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; -use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; -use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use function rmdir; use function unlink; use BankAccount; use RecursiveDirectoryIterator; use RecursiveIteratorIterator; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use SebastianBergmann\CodeCoverage\Data\RawCodeCoverageData; use SebastianBergmann\CodeCoverage\Driver\Driver; use SebastianBergmann\CodeCoverage\Test\Target\Target; From 277a9bfb932038585552651ce9665fdf6761b2a8 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 18:15:32 +0100 Subject: [PATCH 51/63] Update File.php --- src/Report/Html/Renderer/File.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/Report/Html/Renderer/File.php b/src/Report/Html/Renderer/File.php index ca7808e3b..5b724bec3 100644 --- a/src/Report/Html/Renderer/File.php +++ b/src/Report/Html/Renderer/File.php @@ -777,14 +777,12 @@ private function renderBranchStructure(FileNode $node): string ksort($coverageData); + /** @var ProcessedFunctionCoverageData $methodData */ foreach ($coverageData as $methodName => $methodData) { - if (!$methodData['branches']) { - continue; - } - $branchStructure = ''; - foreach ($methodData['branches'] as $branch) { + /** @var ProcessedBranchCoverageData $branch */ + foreach ($methodData->branches as $branch) { $branchStructure .= $this->renderBranchLines($branch, $codeLines, $testData); } @@ -802,14 +800,14 @@ private function renderBranchStructure(FileNode $node): string /** * @param list $codeLines */ - private function renderBranchLines(array $branch, array $codeLines, array $testData): string + private function renderBranchLines(ProcessedBranchCoverageData $branch, array $codeLines, array $testData): string { $linesTemplate = new Template($this->templatePath . 'lines.html.dist', '{{', '}}'); $singleLineTemplate = new Template($this->templatePath . 'line.html.dist', '{{', '}}'); $lines = ''; - $branchLines = range($branch['line_start'], $branch['line_end']); + $branchLines = range($branch->line_start, $branch->line_end); sort($branchLines); // sometimes end_line < start_line /** @var int $line */ @@ -821,7 +819,7 @@ private function renderBranchLines(array $branch, array $codeLines, array $testD $popoverContent = ''; $popoverTitle = ''; - $numTests = count($branch['hit']); + $numTests = count($branch->hit); if ($numTests === 0) { $trClass = 'danger'; @@ -835,7 +833,7 @@ private function renderBranchLines(array $branch, array $codeLines, array $testD $popoverTitle = '1 test covers this branch'; } - foreach ($branch['hit'] as $test) { + foreach ($branch->hit as $test) { if ($lineCss === 'covered-by-large-tests' && $testData[$test]['size'] === 'medium') { $lineCss = 'covered-by-medium-tests'; } elseif ($testData[$test]['size'] === 'small') { From 83202c229f88724d47485294e2dbf51ffaac67f5 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 18:29:57 +0100 Subject: [PATCH 52/63] Update ProcessedFunctionCoverageData.php --- src/Data/ProcessedFunctionCoverageData.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 39dcd9205..7a12f32d7 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -82,8 +82,8 @@ public function merge(self $data): self } return new self( - $branches, - $paths, + $branches ?? $this->branches, + $paths ?? $this->paths, ); } From 7577847540c9ae3beabe52126b758bfb99efd28a Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 10 Nov 2025 08:37:37 +0100 Subject: [PATCH 53/63] new classes are internal --- src/Data/ProcessedBranchCoverageData.php | 2 ++ src/Data/ProcessedFunctionCoverageData.php | 2 ++ src/Data/ProcessedPathCoverageData.php | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/Data/ProcessedBranchCoverageData.php b/src/Data/ProcessedBranchCoverageData.php index 2b6076160..23687ef81 100644 --- a/src/Data/ProcessedBranchCoverageData.php +++ b/src/Data/ProcessedBranchCoverageData.php @@ -15,6 +15,8 @@ use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + * * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugBranchCoverageType from XdebugDriver */ diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 7a12f32d7..0fa54a0b6 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -12,6 +12,8 @@ use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + * * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugFunctionCoverageType from XdebugDriver */ diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php index ccb651931..81f73da77 100644 --- a/src/Data/ProcessedPathCoverageData.php +++ b/src/Data/ProcessedPathCoverageData.php @@ -15,6 +15,8 @@ use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + * * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugPathCoverageType from XdebugDriver */ From 6b62cc34907d1c90ef26cedece619355dc2f5954 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 08:53:26 +0100 Subject: [PATCH 54/63] fix cs --- src/Node/File.php | 8 ++++---- src/Report/Html/Renderer/File.php | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Node/File.php b/src/Node/File.php index 97fa8bbc6..3c27fde30 100644 --- a/src/Node/File.php +++ b/src/Node/File.php @@ -13,12 +13,12 @@ use function count; use function range; use SebastianBergmann\CodeCoverage\CodeCoverage; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; -use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; -use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\StaticAnalysis\AnalysisResult; use SebastianBergmann\CodeCoverage\StaticAnalysis\Class_; use SebastianBergmann\CodeCoverage\StaticAnalysis\Function_; @@ -540,7 +540,7 @@ private function processFunctions(array $functions): void } if (isset($this->functionCoverageData[$functionName])) { - $this->functions[$functionName]['executableBranches'] = count( + $this->functions[$functionName]->executableBranches = count( $this->functionCoverageData[$functionName]->branches, ); @@ -556,7 +556,7 @@ static function (ProcessedBranchCoverageData $branch) } if (isset($this->functionCoverageData[$functionName])) { - $this->functions[$functionName]['executablePaths'] = count( + $this->functions[$functionName]->executablePaths = count( $this->functionCoverageData[$functionName]->paths, ); diff --git a/src/Report/Html/Renderer/File.php b/src/Report/Html/Renderer/File.php index 5b724bec3..b2808fbd0 100644 --- a/src/Report/Html/Renderer/File.php +++ b/src/Report/Html/Renderer/File.php @@ -102,13 +102,13 @@ use function str_replace; use function token_get_all; use function trim; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; -use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; -use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; -use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\FileCouldNotBeWrittenException; use SebastianBergmann\CodeCoverage\Node\File as FileNode; use SebastianBergmann\CodeCoverage\Util\Percentage; From d2374c97b4cb106e34f987d2279591e7ff570446 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 08:56:06 +0100 Subject: [PATCH 55/63] Update ProcessedFunctionCoverageData.php --- src/Data/ProcessedFunctionCoverageData.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 0fa54a0b6..3a4edadd5 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -9,6 +9,7 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +use NoDiscard; use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** @@ -49,6 +50,7 @@ public function __construct( ) { } + #[NoDiscard] public function merge(self $data): self { $branches = null; From d8bf935c17a7b276cb0a2f9531db9a757bab1c6c Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 09:01:14 +0100 Subject: [PATCH 56/63] use traditional properties --- src/Data/ProcessedBranchCoverageData.php | 43 +++++++++++++++++----- src/Data/ProcessedFunctionCoverageData.php | 18 +++++++-- src/Data/ProcessedPathCoverageData.php | 18 +++++++-- 3 files changed, 61 insertions(+), 18 deletions(-) diff --git a/src/Data/ProcessedBranchCoverageData.php b/src/Data/ProcessedBranchCoverageData.php index 23687ef81..b988a2b2a 100644 --- a/src/Data/ProcessedBranchCoverageData.php +++ b/src/Data/ProcessedBranchCoverageData.php @@ -22,6 +22,20 @@ */ final class ProcessedBranchCoverageData { + public readonly int $op_start; + public readonly int $op_end; + public readonly int $line_start; + public readonly int $line_end; + + /** @var list */ + public array $hit; + + /** @var array */ + public readonly array $out; + + /** @var array */ + public readonly array $out_hit; + /** * @param XdebugBranchCoverageType $xdebugCoverageData */ @@ -38,18 +52,27 @@ public static function fromXdebugCoverage(array $xdebugCoverageData): self ); } + /** + * @param list $hit + * @param array $out + * @param array $out_hit + */ public function __construct( - public readonly int $op_start, - public readonly int $op_end, - public readonly int $line_start, - public readonly int $line_end, - /** @var list */ - public array $hit, - /** @var array */ - public readonly array $out, - /** @var array */ - public readonly array $out_hit, + int $op_start, + int $op_end, + int $line_start, + int $line_end, + array $hit, + array $out, + array $out_hit, ) { + $this->out_hit = $out_hit; + $this->out = $out; + $this->hit = $hit; + $this->line_end = $line_end; + $this->line_start = $line_start; + $this->op_end = $op_end; + $this->op_start = $op_start; } #[NoDiscard] diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 3a4edadd5..96baa262a 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -20,6 +20,12 @@ */ final readonly class ProcessedFunctionCoverageData { + /** @var array */ + public array $branches; + + /** @var array */ + public array $paths; + /** * @param XdebugFunctionCoverageType $xdebugCoverageData */ @@ -42,12 +48,16 @@ public static function fromXdebugCoverage(array $xdebugCoverageData): self ); } + /** + * @param array $branches + * @param array $paths + */ public function __construct( - /** @var array */ - public array $branches, - /** @var array */ - public array $paths, + array $branches, + array $paths, ) { + $this->paths = $paths; + $this->branches = $branches; } #[NoDiscard] diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php index 81f73da77..e7283542d 100644 --- a/src/Data/ProcessedPathCoverageData.php +++ b/src/Data/ProcessedPathCoverageData.php @@ -22,6 +22,12 @@ */ final class ProcessedPathCoverageData { + /** @var array */ + public readonly array $path; + + /** @var list */ + public array $hit; + /** * @param XdebugPathCoverageType $xdebugCoverageData */ @@ -33,12 +39,16 @@ public static function fromXdebugCoverage(array $xdebugCoverageData): self ); } + /** + * @param array $path + * @param list $hit + */ public function __construct( - /** @var array */ - public readonly array $path, - /** @var list */ - public array $hit, + array $path, + array $hit, ) { + $this->hit = $hit; + $this->path = $path; } #[NoDiscard] From 6fa7c78dbfec65844995e1f049b1f613a30b23da Mon Sep 17 00:00:00 2001 From: Markus Staab <47448731+clxmstaab@users.noreply.github.com> Date: Thu, 20 Nov 2025 10:31:47 +0100 Subject: [PATCH 57/63] BuildInformation: Move always available information into __construct() Reducing the api surface along the way --- src/Report/Xml/BuildInformation.php | 20 ++++++++------------ src/Report/Xml/Facade.php | 10 ++++++---- src/Report/Xml/Project.php | 18 +++++++++++++++--- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/src/Report/Xml/BuildInformation.php b/src/Report/Xml/BuildInformation.php index c91e5989e..19d0aa42d 100644 --- a/src/Report/Xml/BuildInformation.php +++ b/src/Report/Xml/BuildInformation.php @@ -22,13 +22,15 @@ { private DOMElement $contextNode; - public function __construct(DOMElement $contextNode) - { + public function __construct( + DOMElement $contextNode, + Runtime $runtime, + DateTimeImmutable $buildDate, + string $phpUnitVersion, + string $coverageVersion + ) { $this->contextNode = $contextNode; - } - public function setRuntimeInformation(Runtime $runtime): void - { $runtimeNode = $this->nodeByName('runtime'); $runtimeNode->setAttribute('name', $runtime->getName()); @@ -46,15 +48,9 @@ public function setRuntimeInformation(Runtime $runtime): void $driverNode->setAttribute('name', 'pcov'); $driverNode->setAttribute('version', phpversion('pcov')); } - } - public function setBuildTime(DateTimeImmutable $date): void - { - $this->contextNode->setAttribute('time', $date->format('D M j G:i:s T Y')); - } + $this->contextNode->setAttribute('time', $buildDate->format('D M j G:i:s T Y')); - public function setGeneratorVersions(string $phpUnitVersion, string $coverageVersion): void - { $this->contextNode->setAttribute('phpunit', $phpUnitVersion); $this->contextNode->setAttribute('coverage', $coverageVersion); } diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index 1bc1e009d..857423922 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -79,10 +79,12 @@ public function process(CodeCoverage $coverage, string $target): void private function setBuildInformation(): void { - $buildNode = $this->project->buildInformation(); - $buildNode->setRuntimeInformation(new Runtime); - $buildNode->setBuildTime(new DateTimeImmutable); - $buildNode->setGeneratorVersions($this->phpUnitVersion, Version::id()); + $this->project->buildInformation( + new Runtime, + new DateTimeImmutable, + $this->phpUnitVersion, + Version::id(), + ); } /** diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index 160170320..6980a943a 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -10,8 +10,10 @@ namespace SebastianBergmann\CodeCoverage\Report\Xml; use function assert; +use DateTimeImmutable; use DOMDocument; use DOMElement; +use SebastianBergmann\Environment\Runtime; /** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage @@ -40,8 +42,12 @@ public function projectSourceDirectory(): string return $this->directory; } - public function buildInformation(): BuildInformation - { + public function buildInformation( + Runtime $runtime, + DateTimeImmutable $buildDate, + string $phpUnitVersion, + string $coverageVersion + ): void { $buildNode = $this->dom()->getElementsByTagNameNS( Facade::XML_NAMESPACE, 'build', @@ -58,7 +64,13 @@ public function buildInformation(): BuildInformation assert($buildNode instanceof DOMElement); - return new BuildInformation($buildNode); + new BuildInformation( + $buildNode, + $runtime, + $buildDate, + $phpUnitVersion, + $coverageVersion, + ); } public function tests(): Tests From a5d3a88482b522e9e0e4ad9287a3518dbcca04d8 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 10:35:23 +0100 Subject: [PATCH 58/63] Remove unnused DOM re-attach path --- src/Report/Xml/BuildInformation.php | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/Report/Xml/BuildInformation.php b/src/Report/Xml/BuildInformation.php index 19d0aa42d..654eecb31 100644 --- a/src/Report/Xml/BuildInformation.php +++ b/src/Report/Xml/BuildInformation.php @@ -57,19 +57,12 @@ public function __construct( private function nodeByName(string $name): DOMElement { - $node = $this->contextNode->getElementsByTagNameNS( - Facade::XML_NAMESPACE, - $name, - )->item(0); - - if ($node === null) { - $node = $this->contextNode->appendChild( - $this->contextNode->ownerDocument->createElementNS( - Facade::XML_NAMESPACE, - $name, - ), - ); - } + $node = $this->contextNode->appendChild( + $this->contextNode->ownerDocument->createElementNS( + Facade::XML_NAMESPACE, + $name, + ), + ); assert($node instanceof DOMElement); From b9d130af5924c5d39f53038ba39e65aaa918e469 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 10:38:02 +0100 Subject: [PATCH 59/63] Remove getElementsByTagNameNS() for cases which can never find a element --- src/Report/Xml/Project.php | 19 ++++++------------- src/Report/Xml/Report.php | 19 ++++++------------- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index 6980a943a..5036a4785 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -75,19 +75,12 @@ public function buildInformation( public function tests(): Tests { - $testsNode = $this->contextNode()->getElementsByTagNameNS( - Facade::XML_NAMESPACE, - 'tests', - )->item(0); - - if ($testsNode === null) { - $testsNode = $this->contextNode()->appendChild( - $this->dom()->createElementNS( - Facade::XML_NAMESPACE, - 'tests', - ), - ); - } + $testsNode = $this->contextNode()->appendChild( + $this->dom()->createElementNS( + Facade::XML_NAMESPACE, + 'tests', + ), + ); assert($testsNode instanceof DOMElement); diff --git a/src/Report/Xml/Report.php b/src/Report/Xml/Report.php index 14d2d5a06..6f4400a02 100644 --- a/src/Report/Xml/Report.php +++ b/src/Report/Xml/Report.php @@ -119,19 +119,12 @@ public function traitObject( public function source(): Source { - $source = $this->contextNode()->getElementsByTagNameNS( - Facade::XML_NAMESPACE, - 'source', - )->item(0); - - if ($source === null) { - $source = $this->contextNode()->appendChild( - $this->dom()->createElementNS( - Facade::XML_NAMESPACE, - 'source', - ), - ); - } + $source = $this->contextNode()->appendChild( + $this->dom()->createElementNS( + Facade::XML_NAMESPACE, + 'source', + ), + ); assert($source instanceof DOMElement); From 480ab391a3bdfd55a721ed723a7fba45e32b8ddc Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 10:46:19 +0100 Subject: [PATCH 60/63] Don't query the line-coverage element over and over --- src/Report/Xml/File.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/Report/Xml/File.php b/src/Report/Xml/File.php index 0d1e73955..329d0ef77 100644 --- a/src/Report/Xml/File.php +++ b/src/Report/Xml/File.php @@ -12,6 +12,7 @@ use function assert; use DOMDocument; use DOMElement; +use DOMNode; /** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage @@ -20,6 +21,7 @@ class File { private readonly DOMDocument $dom; private readonly DOMElement $contextNode; + private ?DOMNode $lineCoverage = null; public function __construct(DOMElement $context) { @@ -47,21 +49,17 @@ public function totals(): Totals public function lineCoverage(string $line): Coverage { - $coverage = $this->contextNode->getElementsByTagNameNS( - Facade::XML_NAMESPACE, - 'coverage', - )->item(0); - - if ($coverage === null) { - $coverage = $this->contextNode->appendChild( + if ($this->lineCoverage === null) { + $this->lineCoverage = $this->contextNode->appendChild( $this->dom->createElementNS( Facade::XML_NAMESPACE, 'coverage', ), ); } + assert($this->lineCoverage instanceof DOMElement); - $lineNode = $coverage->appendChild( + $lineNode = $this->lineCoverage->appendChild( $this->dom->createElementNS( Facade::XML_NAMESPACE, 'line', From f0b16b3d5bbba37d9bccb3b64cfc8860ad5a29be Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 10:48:14 +0100 Subject: [PATCH 61/63] totals-element cannot already exist at this point in time --- src/Report/Xml/File.php | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/Report/Xml/File.php b/src/Report/Xml/File.php index 329d0ef77..b7c90efa5 100644 --- a/src/Report/Xml/File.php +++ b/src/Report/Xml/File.php @@ -31,16 +31,12 @@ public function __construct(DOMElement $context) public function totals(): Totals { - $totalsContainer = $this->contextNode->firstChild; - - if ($totalsContainer === null) { - $totalsContainer = $this->contextNode->appendChild( - $this->dom->createElementNS( - Facade::XML_NAMESPACE, - 'totals', - ), - ); - } + $totalsContainer = $this->contextNode->appendChild( + $this->dom->createElementNS( + Facade::XML_NAMESPACE, + 'totals', + ), + ); assert($totalsContainer instanceof DOMElement); From 2afc03839c5ae256aa9c9f3e0c342f60ef14270b Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 11:00:45 +0100 Subject: [PATCH 62/63] Remove unnecessary indirection via dom()-method unifies the access pattern, as some places where already directly working with the property, while others accessed it via dom() --- src/Report/Xml/File.php | 7 +------ src/Report/Xml/Node.php | 11 +++-------- src/Report/Xml/Project.php | 10 +++++----- src/Report/Xml/Report.php | 10 +++++----- 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/Report/Xml/File.php b/src/Report/Xml/File.php index b7c90efa5..e6dd5c4ba 100644 --- a/src/Report/Xml/File.php +++ b/src/Report/Xml/File.php @@ -19,7 +19,7 @@ */ class File { - private readonly DOMDocument $dom; + protected readonly DOMDocument $dom; private readonly DOMElement $contextNode; private ?DOMNode $lineCoverage = null; @@ -71,9 +71,4 @@ protected function contextNode(): DOMElement { return $this->contextNode; } - - protected function dom(): DOMDocument - { - return $this->dom; - } } diff --git a/src/Report/Xml/Node.php b/src/Report/Xml/Node.php index 5c94a0883..86fe70df4 100644 --- a/src/Report/Xml/Node.php +++ b/src/Report/Xml/Node.php @@ -18,7 +18,7 @@ */ abstract class Node { - private readonly DOMDocument $dom; + protected readonly DOMDocument $dom; private readonly DOMElement $contextNode; public function __construct(DOMElement $context) @@ -27,11 +27,6 @@ public function __construct(DOMElement $context) $this->contextNode = $context; } - public function dom(): DOMDocument - { - return $this->dom; - } - public function totals(): Totals { $totalsContainer = $this->contextNode()->firstChild; @@ -52,7 +47,7 @@ public function totals(): Totals public function addDirectory(string $name): Directory { - $dirNode = $this->dom()->createElementNS( + $dirNode = $this->dom->createElementNS( Facade::XML_NAMESPACE, 'directory', ); @@ -65,7 +60,7 @@ public function addDirectory(string $name): Directory public function addFile(string $name, string $href): File { - $fileNode = $this->dom()->createElementNS( + $fileNode = $this->dom->createElementNS( Facade::XML_NAMESPACE, 'file', ); diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index 5036a4785..a91fb2e47 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -48,14 +48,14 @@ public function buildInformation( string $phpUnitVersion, string $coverageVersion ): void { - $buildNode = $this->dom()->getElementsByTagNameNS( + $buildNode = $this->dom->getElementsByTagNameNS( Facade::XML_NAMESPACE, 'build', )->item(0); if ($buildNode === null) { - $buildNode = $this->dom()->documentElement->appendChild( - $this->dom()->createElementNS( + $buildNode = $this->dom->documentElement->appendChild( + $this->dom->createElementNS( Facade::XML_NAMESPACE, 'build', ), @@ -76,7 +76,7 @@ public function buildInformation( public function tests(): Tests { $testsNode = $this->contextNode()->appendChild( - $this->dom()->createElementNS( + $this->dom->createElementNS( Facade::XML_NAMESPACE, 'tests', ), @@ -91,6 +91,6 @@ public function asDom(): DOMDocument { $this->contextNode()->setAttribute('source', $this->directory); - return $this->dom(); + return $this->dom; } } diff --git a/src/Report/Xml/Report.php b/src/Report/Xml/Report.php index 6f4400a02..ee9b401de 100644 --- a/src/Report/Xml/Report.php +++ b/src/Report/Xml/Report.php @@ -42,7 +42,7 @@ public function asDom(): DOMDocument $this->contextNode()->setAttribute('name', basename($this->name)); $this->contextNode()->setAttribute('path', dirname($this->name)); - return $this->dom(); + return $this->dom; } public function functionObject( @@ -56,7 +56,7 @@ public function functionObject( string $crap ): void { $node = $this->contextNode()->appendChild( - $this->dom()->createElementNS( + $this->dom->createElementNS( Facade::XML_NAMESPACE, 'function', ), @@ -86,7 +86,7 @@ public function classObject( float $crap ): Unit { $node = $this->contextNode()->appendChild( - $this->dom()->createElementNS( + $this->dom->createElementNS( Facade::XML_NAMESPACE, 'class', ), @@ -106,7 +106,7 @@ public function traitObject( float $crap ): Unit { $node = $this->contextNode()->appendChild( - $this->dom()->createElementNS( + $this->dom->createElementNS( Facade::XML_NAMESPACE, 'trait', ), @@ -120,7 +120,7 @@ public function traitObject( public function source(): Source { $source = $this->contextNode()->appendChild( - $this->dom()->createElementNS( + $this->dom->createElementNS( Facade::XML_NAMESPACE, 'source', ), From 1be4361b1c2e142e69f0258d7faee126c2a698e2 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 14:51:43 +0100 Subject: [PATCH 63/63] build-element will always exists it will be created while __construct() already --- src/Report/Xml/Project.php | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index a91fb2e47..c81a6a933 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -53,15 +53,6 @@ public function buildInformation( 'build', )->item(0); - if ($buildNode === null) { - $buildNode = $this->dom->documentElement->appendChild( - $this->dom->createElementNS( - Facade::XML_NAMESPACE, - 'build', - ), - ); - } - assert($buildNode instanceof DOMElement); new BuildInformation(

P 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 uAFQ1?{Plrp Date: Sun, 16 Nov 2025 11:16:47 +0100 Subject: [PATCH 19/63] Update PHP-CS-Fixer configuration --- .php-cs-fixer.dist.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index 85287939c..919000d83 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -350,7 +350,7 @@ ], 'types_spaces' => true, 'unary_operator_spaces' => true, - 'visibility_required' => [ + 'modifier_keywords' => [ 'elements' => [ 'const', 'method', From 6cda094664473bc2ee54f9fe3d30e86c3206695d Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Wed, 19 Nov 2025 07:54:58 +0100 Subject: [PATCH 20/63] Extract xml namespace into global constant --- src/Report/Xml/BuildInformation.php | 4 ++-- src/Report/Xml/Coverage.php | 2 +- src/Report/Xml/Facade.php | 1 + src/Report/Xml/File.php | 8 ++++---- src/Report/Xml/Node.php | 6 +++--- src/Report/Xml/Project.php | 10 +++++----- src/Report/Xml/Report.php | 10 +++++----- src/Report/Xml/Tests.php | 2 +- src/Report/Xml/Totals.php | 10 +++++----- src/Report/Xml/Unit.php | 6 +++--- 10 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/Report/Xml/BuildInformation.php b/src/Report/Xml/BuildInformation.php index dba230123..c91e5989e 100644 --- a/src/Report/Xml/BuildInformation.php +++ b/src/Report/Xml/BuildInformation.php @@ -62,14 +62,14 @@ public function setGeneratorVersions(string $phpUnitVersion, string $coverageVer private function nodeByName(string $name): DOMElement { $node = $this->contextNode->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, $name, )->item(0); if ($node === null) { $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, $name, ), ); diff --git a/src/Report/Xml/Coverage.php b/src/Report/Xml/Coverage.php index 812672081..9462780be 100644 --- a/src/Report/Xml/Coverage.php +++ b/src/Report/Xml/Coverage.php @@ -30,7 +30,7 @@ public function finalize(array $tests): void { $writer = new XMLWriter; $writer->openMemory(); - $writer->startElementNs(null, $this->contextNode->nodeName, 'https://schema.phpunit.de/coverage/1.0'); + $writer->startElementNs(null, $this->contextNode->nodeName, Facade::XML_NAMESPACE); $writer->writeAttribute('nr', $this->line); foreach ($tests as $test) { diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index 30c35e269..85d5cd5cf 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -43,6 +43,7 @@ */ final class Facade { + public const string XML_NAMESPACE = 'https://schema.phpunit.de/coverage/1.0'; private string $target; private Project $project; private readonly string $phpUnitVersion; diff --git a/src/Report/Xml/File.php b/src/Report/Xml/File.php index 4a3fea008..0d1e73955 100644 --- a/src/Report/Xml/File.php +++ b/src/Report/Xml/File.php @@ -34,7 +34,7 @@ public function totals(): Totals if ($totalsContainer === null) { $totalsContainer = $this->contextNode->appendChild( $this->dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'totals', ), ); @@ -48,14 +48,14 @@ public function totals(): Totals public function lineCoverage(string $line): Coverage { $coverage = $this->contextNode->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'coverage', )->item(0); if ($coverage === null) { $coverage = $this->contextNode->appendChild( $this->dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'coverage', ), ); @@ -63,7 +63,7 @@ public function lineCoverage(string $line): Coverage $lineNode = $coverage->appendChild( $this->dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'line', ), ); diff --git a/src/Report/Xml/Node.php b/src/Report/Xml/Node.php index e41197a08..e1f62ebac 100644 --- a/src/Report/Xml/Node.php +++ b/src/Report/Xml/Node.php @@ -38,7 +38,7 @@ public function totals(): Totals if ($totalsContainer === null) { $totalsContainer = $this->contextNode()->appendChild( $this->dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'totals', ), ); @@ -52,7 +52,7 @@ public function totals(): Totals public function addDirectory(string $name): Directory { $dirNode = $this->dom()->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'directory', ); @@ -65,7 +65,7 @@ public function addDirectory(string $name): Directory public function addFile(string $name, string $href): File { $fileNode = $this->dom()->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'file', ); diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index 21b5a2ce1..4c2295c10 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -35,14 +35,14 @@ public function projectSourceDirectory(): string public function buildInformation(): BuildInformation { $buildNode = $this->dom()->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'build', )->item(0); if ($buildNode === null) { $buildNode = $this->dom()->documentElement->appendChild( $this->dom()->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'build', ), ); @@ -56,14 +56,14 @@ public function buildInformation(): BuildInformation public function tests(): Tests { $testsNode = $this->contextNode()->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'tests', )->item(0); if ($testsNode === null) { $testsNode = $this->contextNode()->appendChild( $this->dom()->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'tests', ), ); @@ -86,7 +86,7 @@ private function init(): void $this->setContextNode( $dom->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'project', )->item(0), ); diff --git a/src/Report/Xml/Report.php b/src/Report/Xml/Report.php index f39ab860c..34f882171 100644 --- a/src/Report/Xml/Report.php +++ b/src/Report/Xml/Report.php @@ -26,7 +26,7 @@ public function __construct(string $name) $dom->loadXML(''); $contextNode = $dom->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'file', )->item(0); @@ -44,7 +44,7 @@ public function functionObject(string $name): Method { $node = $this->contextNode()->appendChild( $this->dom()->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'function', ), ); @@ -67,14 +67,14 @@ public function traitObject(string $name): Unit public function source(): Source { $source = $this->contextNode()->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'source', )->item(0); if ($source === null) { $source = $this->contextNode()->appendChild( $this->dom()->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'source', ), ); @@ -95,7 +95,7 @@ private function unitObject(string $tagName, string $name): Unit { $node = $this->contextNode()->appendChild( $this->dom()->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, $tagName, ), ); diff --git a/src/Report/Xml/Tests.php b/src/Report/Xml/Tests.php index c9e9c48ef..1760fdfa5 100644 --- a/src/Report/Xml/Tests.php +++ b/src/Report/Xml/Tests.php @@ -34,7 +34,7 @@ public function addTest(string $test, array $result): void { $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'test', ), ); diff --git a/src/Report/Xml/Totals.php b/src/Report/Xml/Totals.php index 8e285a78e..28612f7aa 100644 --- a/src/Report/Xml/Totals.php +++ b/src/Report/Xml/Totals.php @@ -29,27 +29,27 @@ public function __construct(DOMElement $container) $dom = $container->ownerDocument; $this->linesNode = $dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'lines', ); $this->methodsNode = $dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'methods', ); $this->functionsNode = $dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'functions', ); $this->classesNode = $dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'classes', ); $this->traitsNode = $dom->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'traits', ); diff --git a/src/Report/Xml/Unit.php b/src/Report/Xml/Unit.php index a00f85d39..84e189fbf 100644 --- a/src/Report/Xml/Unit.php +++ b/src/Report/Xml/Unit.php @@ -41,14 +41,14 @@ public function setCrap(float $crap): void public function setNamespace(string $namespace): void { $node = $this->contextNode->getElementsByTagNameNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'namespace', )->item(0); if ($node === null) { $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'namespace', ), ); @@ -63,7 +63,7 @@ public function addMethod(string $name): Method { $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( - 'https://schema.phpunit.de/coverage/1.0', + Facade::XML_NAMESPACE, 'method', ), ); From a1b0ae52de3c31dcdcc6142d99c22cc39f6b687e Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 07:23:38 +0100 Subject: [PATCH 21/63] Project: Make parent::__construct() call explicit --- src/Report/Xml/Project.php | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index 4c2295c10..7d62c935c 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -23,7 +23,16 @@ final class Project extends Node */ public function __construct(string $directory) { - $this->init(); + $dom = new DOMDocument; + $dom->loadXML(''); + + parent::__construct( + $dom->getElementsByTagNameNS( + Facade::XML_NAMESPACE, + 'project', + )->item(0), + ); + $this->setProjectSourceDirectory($directory); } @@ -79,19 +88,6 @@ public function asDom(): DOMDocument return $this->dom(); } - private function init(): void - { - $dom = new DOMDocument; - $dom->loadXML(''); - - $this->setContextNode( - $dom->getElementsByTagNameNS( - Facade::XML_NAMESPACE, - 'project', - )->item(0), - ); - } - private function setProjectSourceDirectory(string $name): void { $this->contextNode()->setAttribute('source', $name); From 2e645117c8ef9743e95e8e45e6ccea9be9c16f66 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 07:25:29 +0100 Subject: [PATCH 22/63] Fix build --- src/Report/Xml/Project.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index 7d62c935c..5f0ada7e1 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -18,9 +18,6 @@ */ final class Project extends Node { - /** - * @phpstan-ignore constructor.missingParentCall - */ public function __construct(string $directory) { $dom = new DOMDocument; From bc415069422acc95960253a460d15fdc5171dfe2 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 07:34:00 +0100 Subject: [PATCH 23/63] Project: Reduce dependency on DOM --- src/Report/Xml/Project.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Report/Xml/Project.php b/src/Report/Xml/Project.php index 5f0ada7e1..160170320 100644 --- a/src/Report/Xml/Project.php +++ b/src/Report/Xml/Project.php @@ -18,6 +18,8 @@ */ final class Project extends Node { + private readonly string $directory; + public function __construct(string $directory) { $dom = new DOMDocument; @@ -30,12 +32,12 @@ public function __construct(string $directory) )->item(0), ); - $this->setProjectSourceDirectory($directory); + $this->directory = $directory; } public function projectSourceDirectory(): string { - return $this->contextNode()->getAttribute('source'); + return $this->directory; } public function buildInformation(): BuildInformation @@ -82,11 +84,8 @@ public function tests(): Tests public function asDom(): DOMDocument { - return $this->dom(); - } + $this->contextNode()->setAttribute('source', $this->directory); - private function setProjectSourceDirectory(string $name): void - { - $this->contextNode()->setAttribute('source', $name); + return $this->dom(); } } From 50580411002dd01019175cbf0a548e36053b240e Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 07:44:37 +0100 Subject: [PATCH 24/63] Report: Reduce dependency on DOM --- src/Report/Xml/Report.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Report/Xml/Report.php b/src/Report/Xml/Report.php index 34f882171..5a9c622f0 100644 --- a/src/Report/Xml/Report.php +++ b/src/Report/Xml/Report.php @@ -20,6 +20,8 @@ */ final class Report extends File { + private readonly string $name; + public function __construct(string $name) { $dom = new DOMDocument; @@ -32,11 +34,14 @@ public function __construct(string $name) parent::__construct($contextNode); - $this->setName($name); + $this->name = $name; } public function asDom(): DOMDocument { + $this->contextNode()->setAttribute('name', basename($this->name)); + $this->contextNode()->setAttribute('path', dirname($this->name)); + return $this->dom(); } @@ -85,12 +90,6 @@ public function source(): Source return new Source($source); } - private function setName(string $name): void - { - $this->contextNode()->setAttribute('name', basename($name)); - $this->contextNode()->setAttribute('path', dirname($name)); - } - private function unitObject(string $tagName, string $name): Unit { $node = $this->contextNode()->appendChild( From c1decf1542254b69f4b920ebd59a71a0e3bbf1cd Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 08:00:35 +0100 Subject: [PATCH 25/63] Unit: Move always available information into __construct() Reducing the api surface along the way --- src/Report/Xml/Facade.php | 27 +++++++++++-------- src/Report/Xml/Report.php | 56 +++++++++++++++++++++++++-------------- src/Report/Xml/Unit.php | 49 +++++++++++----------------------- 3 files changed, 68 insertions(+), 64 deletions(-) diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index 85d5cd5cf..126b8c53d 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -182,20 +182,25 @@ private function processFile(FileNode $file, Directory $context): void private function processUnit(array $unit, Report $report): void { if (isset($unit['className'])) { - $unitObject = $report->classObject($unit['className']); + $unitObject = $report->classObject( + $unit['className'], + $unit['namespace'], + $unit['startLine'], + $unit['executableLines'], + $unit['executedLines'], + (float) $unit['crap'], + ); } else { - $unitObject = $report->traitObject($unit['traitName']); + $unitObject = $report->traitObject( + $unit['traitName'], + $unit['namespace'], + $unit['startLine'], + $unit['executableLines'], + $unit['executedLines'], + (float) $unit['crap'], + ); } - $unitObject->setLines( - $unit['startLine'], - $unit['executableLines'], - $unit['executedLines'], - ); - - $unitObject->setCrap((float) $unit['crap']); - $unitObject->setNamespace($unit['namespace']); - foreach ($unit['methods'] as $method) { $methodObject = $unitObject->addMethod($method['methodName']); $methodObject->setSignature($method['signature']); diff --git a/src/Report/Xml/Report.php b/src/Report/Xml/Report.php index 5a9c622f0..601e466c3 100644 --- a/src/Report/Xml/Report.php +++ b/src/Report/Xml/Report.php @@ -59,14 +59,44 @@ public function functionObject(string $name): Method return new Method($node, $name); } - public function classObject(string $name): Unit - { - return $this->unitObject('class', $name); + public function classObject( + string $name, + string $namespace, + int $start, + int $executable, + int $executed, + float $crap + ): Unit { + $node = $this->contextNode()->appendChild( + $this->dom()->createElementNS( + Facade::XML_NAMESPACE, + 'class', + ), + ); + + assert($node instanceof DOMElement); + + return new Unit($node, $name, $namespace, $start, $executable, $executed, $crap); } - public function traitObject(string $name): Unit - { - return $this->unitObject('trait', $name); + public function traitObject( + string $name, + string $namespace, + int $start, + int $executable, + int $executed, + float $crap + ): Unit { + $node = $this->contextNode()->appendChild( + $this->dom()->createElementNS( + Facade::XML_NAMESPACE, + 'trait', + ), + ); + + assert($node instanceof DOMElement); + + return new Unit($node, $name, $namespace, $start, $executable, $executed, $crap); } public function source(): Source @@ -89,18 +119,4 @@ public function source(): Source return new Source($source); } - - private function unitObject(string $tagName, string $name): Unit - { - $node = $this->contextNode()->appendChild( - $this->dom()->createElementNS( - Facade::XML_NAMESPACE, - $tagName, - ), - ); - - assert($node instanceof DOMElement); - - return new Unit($node, $name); - } } diff --git a/src/Report/Xml/Unit.php b/src/Report/Xml/Unit.php index 84e189fbf..35175f30b 100644 --- a/src/Report/Xml/Unit.php +++ b/src/Report/Xml/Unit.php @@ -19,41 +19,29 @@ { private DOMElement $contextNode; - public function __construct(DOMElement $context, string $name) - { + public function __construct( + DOMElement $context, + string $name, + string $namespace, + int $start, + int $executable, + int $executed, + float $crap + ) { $this->contextNode = $context; - $this->setName($name); - } - - public function setLines(int $start, int $executable, int $executed): void - { + $this->contextNode->setAttribute('name', $name); $this->contextNode->setAttribute('start', (string) $start); $this->contextNode->setAttribute('executable', (string) $executable); $this->contextNode->setAttribute('executed', (string) $executed); - } - - public function setCrap(float $crap): void - { $this->contextNode->setAttribute('crap', (string) $crap); - } - - public function setNamespace(string $namespace): void - { - $node = $this->contextNode->getElementsByTagNameNS( - Facade::XML_NAMESPACE, - 'namespace', - )->item(0); - - if ($node === null) { - $node = $this->contextNode->appendChild( - $this->contextNode->ownerDocument->createElementNS( - Facade::XML_NAMESPACE, - 'namespace', - ), - ); - } + $node = $this->contextNode->appendChild( + $this->contextNode->ownerDocument->createElementNS( + Facade::XML_NAMESPACE, + 'namespace', + ), + ); assert($node instanceof DOMElement); $node->setAttribute('name', $namespace); @@ -72,9 +60,4 @@ public function addMethod(string $name): Method return new Method($node, $name); } - - private function setName(string $name): void - { - $this->contextNode->setAttribute('name', $name); - } } From 8e8a02b1c2119f33c513e73e90c2a0817c664a24 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 10 Nov 2025 07:05:24 +0100 Subject: [PATCH 26/63] Represent line-coverage data in objects --- src/Data/ProcessedFunctionType.php | 32 ++++ src/Data/ProcessedMethodType.php | 32 ++++ src/Node/AbstractNode.php | 4 +- src/Node/Directory.php | 2 +- src/Node/File.php | 243 +++++++++++-------------- src/Report/Clover.php | 18 +- src/Report/Cobertura.php | 38 ++-- src/Report/Crap4j.php | 16 +- src/Report/Html/Renderer/Dashboard.php | 35 ++-- src/Report/Html/Renderer/File.php | 49 +++-- src/Report/OpenClover.php | 18 +- src/Report/Text.php | 16 +- src/Report/Xml/Facade.php | 31 ++-- 13 files changed, 285 insertions(+), 249 deletions(-) create mode 100644 src/Data/ProcessedFunctionType.php create mode 100644 src/Data/ProcessedMethodType.php diff --git a/src/Data/ProcessedFunctionType.php b/src/Data/ProcessedFunctionType.php new file mode 100644 index 000000000..6ab07d714 --- /dev/null +++ b/src/Data/ProcessedFunctionType.php @@ -0,0 +1,32 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\Data; + +final class ProcessedFunctionType +{ + public function __construct( + public string $functionName, + public string $namespace, + public string $signature, + public int $startLine, + public int $endLine, + public int $executableLines, + public int $executedLines, + public int $executableBranches, + public int $executedBranches, + public int $executablePaths, + public int $executedPaths, + public int $ccn, + public float|int $coverage, + public int|string $crap, + public string $link, + ) { + } +} diff --git a/src/Data/ProcessedMethodType.php b/src/Data/ProcessedMethodType.php new file mode 100644 index 000000000..63353aefd --- /dev/null +++ b/src/Data/ProcessedMethodType.php @@ -0,0 +1,32 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\Data; + +final class ProcessedMethodType +{ + public function __construct( + public string $methodName, + public string $visibility, + public string $signature, + public int $startLine, + public int $endLine, + public int $executableLines, + public int $executedLines, + public int $executableBranches, + public int $executedBranches, + public int $executablePaths, + public int $executedPaths, + public int $ccn, + public float|int $coverage, + public int|string $crap, + public string $link, + ) { + } +} diff --git a/src/Node/AbstractNode.php b/src/Node/AbstractNode.php index 7e82a3daf..8cd612bf0 100644 --- a/src/Node/AbstractNode.php +++ b/src/Node/AbstractNode.php @@ -15,13 +15,13 @@ use function str_replace; use function substr; use Countable; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode; use SebastianBergmann\CodeCoverage\Util\Percentage; /** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage * - * @phpstan-import-type ProcessedFunctionType from File * @phpstan-import-type ProcessedClassType from File * @phpstan-import-type ProcessedTraitType from File */ @@ -190,7 +190,7 @@ public function cyclomaticComplexity(): int } foreach ($this->functions() as $function) { - $ccn += $function['ccn']; + $ccn += $function->ccn; } return $ccn; diff --git a/src/Node/Directory.php b/src/Node/Directory.php index 2802f93ab..7ad54ef5c 100644 --- a/src/Node/Directory.php +++ b/src/Node/Directory.php @@ -14,12 +14,12 @@ use function count; use IteratorAggregate; use RecursiveIteratorIterator; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode; /** * @template-implements IteratorAggregate * - * @phpstan-import-type ProcessedFunctionType from File * @phpstan-import-type ProcessedClassType from File * @phpstan-import-type ProcessedTraitType from File * diff --git a/src/Node/File.php b/src/Node/File.php index 54ee70b4a..8408fee92 100644 --- a/src/Node/File.php +++ b/src/Node/File.php @@ -13,6 +13,8 @@ use function count; use function range; use SebastianBergmann\CodeCoverage\CodeCoverage; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; +use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; use SebastianBergmann\CodeCoverage\StaticAnalysis\AnalysisResult; use SebastianBergmann\CodeCoverage\StaticAnalysis\Class_; use SebastianBergmann\CodeCoverage\StaticAnalysis\Function_; @@ -26,40 +28,6 @@ * @phpstan-import-type TestType from CodeCoverage * @phpstan-import-type LinesType from AnalysisResult * - * @phpstan-type ProcessedFunctionType array{ - * functionName: string, - * namespace: string, - * signature: string, - * startLine: int, - * endLine: int, - * executableLines: int, - * executedLines: int, - * executableBranches: int, - * executedBranches: int, - * executablePaths: int, - * executedPaths: int, - * ccn: int, - * coverage: int|float, - * crap: int|string, - * link: string - * } - * @phpstan-type ProcessedMethodType array{ - * methodName: string, - * visibility: string, - * signature: string, - * startLine: int, - * endLine: int, - * executableLines: int, - * executedLines: int, - * executableBranches: int, - * executedBranches: int, - * executablePaths: int, - * executedPaths: int, - * ccn: int, - * coverage: float|int, - * crap: int|string, - * link: string - * } * @phpstan-type ProcessedClassType array{ * className: string, * namespace: string, @@ -136,7 +104,7 @@ final class File extends AbstractNode private ?int $numTestedFunctions = null; /** - * @var array + * @var array */ private array $codeUnitsByLine = []; @@ -251,7 +219,7 @@ public function numberOfClasses(): int foreach ($this->classes as $class) { foreach ($class['methods'] as $method) { - if ($method['executableLines'] > 0) { + if ($method->executableLines > 0) { $this->numClasses++; continue 2; @@ -275,7 +243,7 @@ public function numberOfTraits(): int foreach ($this->traits as $trait) { foreach ($trait['methods'] as $method) { - if ($method['executableLines'] > 0) { + if ($method->executableLines > 0) { $this->numTraits++; continue 2; @@ -299,7 +267,7 @@ public function numberOfMethods(): int foreach ($this->classes as $class) { foreach ($class['methods'] as $method) { - if ($method['executableLines'] > 0) { + if ($method->executableLines > 0) { $this->numMethods++; } } @@ -307,7 +275,7 @@ public function numberOfMethods(): int foreach ($this->traits as $trait) { foreach ($trait['methods'] as $method) { - if ($method['executableLines'] > 0) { + if ($method->executableLines > 0) { $this->numMethods++; } } @@ -324,8 +292,8 @@ public function numberOfTestedMethods(): int foreach ($this->classes as $class) { foreach ($class['methods'] as $method) { - if ($method['executableLines'] > 0 && - $method['coverage'] === 100) { + if ($method->executableLines > 0 && + $method->coverage === 100) { $this->numTestedMethods++; } } @@ -333,8 +301,8 @@ public function numberOfTestedMethods(): int foreach ($this->traits as $trait) { foreach ($trait['methods'] as $method) { - if ($method['executableLines'] > 0 && - $method['coverage'] === 100) { + if ($method->executableLines > 0 && + $method->coverage === 100) { $this->numTestedMethods++; } } @@ -355,8 +323,8 @@ public function numberOfTestedFunctions(): int $this->numTestedFunctions = 0; foreach ($this->functions as $function) { - if ($function['executableLines'] > 0 && - $function['coverage'] === 100) { + if ($function->executableLines > 0 && + $function->coverage === 100) { $this->numTestedFunctions++; } } @@ -383,7 +351,11 @@ private function calculateStatistics(array $classes, array $traits, array $funct foreach (range(1, $this->linesOfCode->linesOfCode()) as $lineNumber) { if (isset($this->lineCoverageData[$lineNumber])) { foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) { - $codeUnit['executableLines']++; + if ($codeUnit instanceof ProcessedMethodType || $codeUnit instanceof ProcessedFunctionType) { + $codeUnit->executableLines++; + } else { + $codeUnit['executableLines']++; + } } unset($codeUnit); @@ -392,7 +364,11 @@ private function calculateStatistics(array $classes, array $traits, array $funct if (count($this->lineCoverageData[$lineNumber]) > 0) { foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) { - $codeUnit['executedLines']++; + if ($codeUnit instanceof ProcessedMethodType || $codeUnit instanceof ProcessedFunctionType) { + $codeUnit->executedLines++; + } else { + $codeUnit['executedLines']++; + } } unset($codeUnit); @@ -404,14 +380,14 @@ private function calculateStatistics(array $classes, array $traits, array $funct foreach ($this->traits as &$trait) { foreach ($trait['methods'] as &$method) { - $methodLineCoverage = $method['executableLines'] > 0 ? ($method['executedLines'] / $method['executableLines']) * 100 : 100; - $methodBranchCoverage = $method['executableBranches'] > 0 ? ($method['executedBranches'] / $method['executableBranches']) * 100 : 0; - $methodPathCoverage = $method['executablePaths'] > 0 ? ($method['executedPaths'] / $method['executablePaths']) * 100 : 0; + $methodLineCoverage = $method->executableLines > 0 ? ($method->executedLines / $method->executableLines) * 100 : 100; + $methodBranchCoverage = $method->executableBranches > 0 ? ($method->executedBranches / $method->executableBranches) * 100 : 0; + $methodPathCoverage = $method->executablePaths > 0 ? ($method->executedPaths / $method->executablePaths) * 100 : 0; - $method['coverage'] = $methodBranchCoverage > 0 ? $methodBranchCoverage : $methodLineCoverage; - $method['crap'] = (new CrapIndex($method['ccn'], $methodPathCoverage > 0 ? $methodPathCoverage : $methodLineCoverage))->asString(); + $method->coverage = $methodBranchCoverage > 0 ? $methodBranchCoverage : $methodLineCoverage; + $method->crap = (new CrapIndex($method->ccn, $methodPathCoverage > 0 ? $methodPathCoverage : $methodLineCoverage))->asString(); - $trait['ccn'] += $method['ccn']; + $trait['ccn'] += $method->ccn; } unset($method); @@ -432,14 +408,14 @@ private function calculateStatistics(array $classes, array $traits, array $funct foreach ($this->classes as &$class) { foreach ($class['methods'] as &$method) { - $methodLineCoverage = $method['executableLines'] > 0 ? ($method['executedLines'] / $method['executableLines']) * 100 : 100; - $methodBranchCoverage = $method['executableBranches'] > 0 ? ($method['executedBranches'] / $method['executableBranches']) * 100 : 0; - $methodPathCoverage = $method['executablePaths'] > 0 ? ($method['executedPaths'] / $method['executablePaths']) * 100 : 0; + $methodLineCoverage = $method->executableLines > 0 ? ($method->executedLines / $method->executableLines) * 100 : 100; + $methodBranchCoverage = $method->executableBranches > 0 ? ($method->executedBranches / $method->executableBranches) * 100 : 0; + $methodPathCoverage = $method->executablePaths > 0 ? ($method->executedPaths / $method->executablePaths) * 100 : 0; - $method['coverage'] = $methodBranchCoverage > 0 ? $methodBranchCoverage : $methodLineCoverage; - $method['crap'] = (new CrapIndex($method['ccn'], $methodPathCoverage > 0 ? $methodPathCoverage : $methodLineCoverage))->asString(); + $method->coverage = $methodBranchCoverage > 0 ? $methodBranchCoverage : $methodLineCoverage; + $method->crap = (new CrapIndex($method->ccn, $methodPathCoverage > 0 ? $methodPathCoverage : $methodLineCoverage))->asString(); - $class['ccn'] += $method['ccn']; + $class['ccn'] += $method->ccn; } unset($method); @@ -459,14 +435,14 @@ private function calculateStatistics(array $classes, array $traits, array $funct unset($class); foreach ($this->functions as &$function) { - $functionLineCoverage = $function['executableLines'] > 0 ? ($function['executedLines'] / $function['executableLines']) * 100 : 100; - $functionBranchCoverage = $function['executableBranches'] > 0 ? ($function['executedBranches'] / $function['executableBranches']) * 100 : 0; - $functionPathCoverage = $function['executablePaths'] > 0 ? ($function['executedPaths'] / $function['executablePaths']) * 100 : 0; + $functionLineCoverage = $function->executableLines > 0 ? ($function->executedLines / $function->executableLines) * 100 : 100; + $functionBranchCoverage = $function->executableBranches > 0 ? ($function->executedBranches / $function->executableBranches) * 100 : 0; + $functionPathCoverage = $function->executablePaths > 0 ? ($function->executedPaths / $function->executablePaths) * 100 : 0; - $function['coverage'] = $functionBranchCoverage > 0 ? $functionBranchCoverage : $functionLineCoverage; - $function['crap'] = (new CrapIndex($function['ccn'], $functionPathCoverage > 0 ? $functionPathCoverage : $functionLineCoverage))->asString(); + $function->coverage = $functionBranchCoverage > 0 ? $functionBranchCoverage : $functionLineCoverage; + $function->crap = (new CrapIndex($function->ccn, $functionPathCoverage > 0 ? $functionPathCoverage : $functionLineCoverage))->asString(); - if ($function['coverage'] === 100) { + if ($function->coverage === 100) { $this->numTestedFunctions++; } } @@ -501,15 +477,15 @@ private function processClasses(array $classes): void $methodData = $this->newMethod($className, $method, $link); $this->classes[$className]['methods'][$methodName] = $methodData; - $this->classes[$className]['executableBranches'] += $methodData['executableBranches']; - $this->classes[$className]['executedBranches'] += $methodData['executedBranches']; - $this->classes[$className]['executablePaths'] += $methodData['executablePaths']; - $this->classes[$className]['executedPaths'] += $methodData['executedPaths']; + $this->classes[$className]['executableBranches'] += $methodData->executableBranches; + $this->classes[$className]['executedBranches'] += $methodData->executedBranches; + $this->classes[$className]['executablePaths'] += $methodData->executablePaths; + $this->classes[$className]['executedPaths'] += $methodData->executedPaths; - $this->numExecutableBranches += $methodData['executableBranches']; - $this->numExecutedBranches += $methodData['executedBranches']; - $this->numExecutablePaths += $methodData['executablePaths']; - $this->numExecutedPaths += $methodData['executedPaths']; + $this->numExecutableBranches += $methodData->executableBranches; + $this->numExecutedBranches += $methodData->executedBranches; + $this->numExecutablePaths += $methodData->executablePaths; + $this->numExecutedPaths += $methodData->executedPaths; foreach (range($method->startLine(), $method->endLine()) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ @@ -550,15 +526,15 @@ private function processTraits(array $traits): void $methodData = $this->newMethod($traitName, $method, $link); $this->traits[$traitName]['methods'][$methodName] = $methodData; - $this->traits[$traitName]['executableBranches'] += $methodData['executableBranches']; - $this->traits[$traitName]['executedBranches'] += $methodData['executedBranches']; - $this->traits[$traitName]['executablePaths'] += $methodData['executablePaths']; - $this->traits[$traitName]['executedPaths'] += $methodData['executedPaths']; + $this->traits[$traitName]['executableBranches'] += $methodData->executableBranches; + $this->traits[$traitName]['executedBranches'] += $methodData->executedBranches; + $this->traits[$traitName]['executablePaths'] += $methodData->executablePaths; + $this->traits[$traitName]['executedPaths'] += $methodData->executedPaths; - $this->numExecutableBranches += $methodData['executableBranches']; - $this->numExecutedBranches += $methodData['executedBranches']; - $this->numExecutablePaths += $methodData['executablePaths']; - $this->numExecutedPaths += $methodData['executedPaths']; + $this->numExecutableBranches += $methodData->executableBranches; + $this->numExecutedBranches += $methodData->executedBranches; + $this->numExecutablePaths += $methodData->executablePaths; + $this->numExecutedPaths += $methodData->executedPaths; foreach (range($method->startLine(), $method->endLine()) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ @@ -578,34 +554,34 @@ private function processFunctions(array $functions): void $link = $this->id() . '.html#'; foreach ($functions as $functionName => $function) { - $this->functions[$functionName] = [ - 'functionName' => $functionName, - 'namespace' => $function->namespace(), - 'signature' => $function->signature(), - 'startLine' => $function->startLine(), - 'endLine' => $function->endLine(), - 'executableLines' => 0, - 'executedLines' => 0, - 'executableBranches' => 0, - 'executedBranches' => 0, - 'executablePaths' => 0, - 'executedPaths' => 0, - 'ccn' => $function->cyclomaticComplexity(), - 'coverage' => 0, - 'crap' => 0, - 'link' => $link . $function->startLine(), - ]; + $this->functions[$functionName] = new ProcessedFunctionType( + $functionName, + $function->namespace(), + $function->signature(), + $function->startLine(), + $function->endLine(), + 0, + 0, + 0, + 0, + 0, + 0, + $function->cyclomaticComplexity(), + 0, + 0, + $link . $function->startLine(), + ); foreach (range($function->startLine(), $function->endLine()) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [&$this->functions[$functionName]]; } if (isset($this->functionCoverageData[$functionName]['branches'])) { - $this->functions[$functionName]['executableBranches'] = count( + $this->functions[$functionName]->executableBranches = count( $this->functionCoverageData[$functionName]['branches'], ); - $this->functions[$functionName]['executedBranches'] = count( + $this->functions[$functionName]->executedBranches = count( array_filter( $this->functionCoverageData[$functionName]['branches'], static function (array $branch) @@ -617,11 +593,11 @@ static function (array $branch) } if (isset($this->functionCoverageData[$functionName]['paths'])) { - $this->functions[$functionName]['executablePaths'] = count( + $this->functions[$functionName]->executablePaths = count( $this->functionCoverageData[$functionName]['paths'], ); - $this->functions[$functionName]['executedPaths'] = count( + $this->functions[$functionName]->executedPaths = count( array_filter( $this->functionCoverageData[$functionName]['paths'], static function (array $path) @@ -632,44 +608,26 @@ static function (array $path) ); } - $this->numExecutableBranches += $this->functions[$functionName]['executableBranches']; - $this->numExecutedBranches += $this->functions[$functionName]['executedBranches']; - $this->numExecutablePaths += $this->functions[$functionName]['executablePaths']; - $this->numExecutedPaths += $this->functions[$functionName]['executedPaths']; + $this->numExecutableBranches += $this->functions[$functionName]->executableBranches; + $this->numExecutedBranches += $this->functions[$functionName]->executedBranches; + $this->numExecutablePaths += $this->functions[$functionName]->executablePaths; + $this->numExecutedPaths += $this->functions[$functionName]->executedPaths; } } - /** - * @return ProcessedMethodType - */ - private function newMethod(string $className, Method $method, string $link): array + private function newMethod(string $className, Method $method, string $link): ProcessedMethodType { - $methodData = [ - 'methodName' => $method->name(), - 'visibility' => $method->visibility()->value, - 'signature' => $method->signature(), - 'startLine' => $method->startLine(), - 'endLine' => $method->endLine(), - 'executableLines' => 0, - 'executedLines' => 0, - 'executableBranches' => 0, - 'executedBranches' => 0, - 'executablePaths' => 0, - 'executedPaths' => 0, - 'ccn' => $method->cyclomaticComplexity(), - 'coverage' => 0, - 'crap' => 0, - 'link' => $link . $method->startLine(), - ]; - $key = $className . '->' . $method->name(); + $executableBranches = 0; + $executedBranches = 0; + if (isset($this->functionCoverageData[$key]['branches'])) { - $methodData['executableBranches'] = count( + $executableBranches = count( $this->functionCoverageData[$key]['branches'], ); - $methodData['executedBranches'] = count( + $executedBranches = count( array_filter( $this->functionCoverageData[$key]['branches'], static function (array $branch) @@ -680,12 +638,15 @@ static function (array $branch) ); } + $executablePaths = 0; + $executedPaths = 0; + if (isset($this->functionCoverageData[$key]['paths'])) { - $methodData['executablePaths'] = count( + $executablePaths = count( $this->functionCoverageData[$key]['paths'], ); - $methodData['executedPaths'] = count( + $executedPaths = count( array_filter( $this->functionCoverageData[$key]['paths'], static function (array $path) @@ -696,6 +657,22 @@ static function (array $path) ); } - return $methodData; + return new ProcessedMethodType( + $method->name(), + $method->visibility()->value, + $method->signature(), + $method->startLine(), + $method->endLine(), + 0, + 0, + $executableBranches, + $executedBranches, + $executablePaths, + $executedPaths, + $method->cyclomaticComplexity(), + 0, + 0, + $link . $method->startLine(), + ); } } diff --git a/src/Report/Clover.php b/src/Report/Clover.php index 641cd0bbb..b4d696fe1 100644 --- a/src/Report/Clover.php +++ b/src/Report/Clover.php @@ -80,33 +80,33 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string foreach ($class['methods'] as $methodName => $method) { /** @phpstan-ignore equal.notAllowed */ - if ($method['executableLines'] == 0) { + if ($method->executableLines == 0) { continue; } $classMethods++; - $classStatements += $method['executableLines']; - $coveredClassStatements += $method['executedLines']; + $classStatements += $method->executableLines; + $coveredClassStatements += $method->executedLines; /** @phpstan-ignore equal.notAllowed */ - if ($method['coverage'] == 100) { + if ($method->coverage == 100) { $coveredMethods++; } $methodCount = 0; - foreach (range($method['startLine'], $method['endLine']) as $line) { + foreach (range($method->startLine, $method->endLine) as $line) { if (isset($coverageData[$line])) { $methodCount = max($methodCount, count($coverageData[$line])); } } - $lines[$method['startLine']] = [ - 'ccn' => $method['ccn'], + $lines[$method->startLine] = [ + 'ccn' => $method->ccn, 'count' => $methodCount, - 'crap' => $method['crap'], + 'crap' => $method->crap, 'type' => 'method', - 'visibility' => $method['visibility'], + 'visibility' => $method->visibility, 'name' => $methodName, ]; } diff --git a/src/Report/Cobertura.php b/src/Report/Cobertura.php index 38653f754..ad37a70eb 100644 --- a/src/Report/Cobertura.php +++ b/src/Report/Cobertura.php @@ -144,18 +144,18 @@ public function process(CodeCoverage $coverage, ?string $target = null): string $classElement->appendChild($classLinesElement); foreach ($class['methods'] as $methodName => $method) { - if ($method['executableLines'] === 0) { + if ($method->executableLines === 0) { continue; } - preg_match("/\((.*?)\)/", $method['signature'], $signature); + preg_match("/\((.*?)\)/", $method->signature, $signature); - $linesValid = $method['executableLines']; - $linesCovered = $method['executedLines']; + $linesValid = $method->executableLines; + $linesCovered = $method->executedLines; $lineRate = $linesCovered / $linesValid; - $branchesValid = $method['executableBranches']; - $branchesCovered = $method['executedBranches']; + $branchesValid = $method->executableBranches; + $branchesCovered = $method->executedBranches; $branchRate = $branchesValid === 0 ? 0 : ($branchesCovered / $branchesValid); $methodElement = $document->createElement('method'); @@ -164,13 +164,13 @@ public function process(CodeCoverage $coverage, ?string $target = null): string $methodElement->setAttribute('signature', $signature[1]); $methodElement->setAttribute('line-rate', (string) $lineRate); $methodElement->setAttribute('branch-rate', (string) $branchRate); - $methodElement->setAttribute('complexity', (string) $method['ccn']); + $methodElement->setAttribute('complexity', (string) $method->ccn); $methodLinesElement = $document->createElement('lines'); $methodElement->appendChild($methodLinesElement); - foreach (range($method['startLine'], $method['endLine']) as $line) { + foreach (range($method->startLine, $method->endLine) as $line) { if (!isset($coverageData[$line])) { continue; } @@ -217,23 +217,23 @@ public function process(CodeCoverage $coverage, ?string $target = null): string $functions = $item->functions(); foreach ($functions as $functionName => $function) { - if ($function['executableLines'] === 0) { + if ($function->executableLines === 0) { continue; } - $complexity += $function['ccn']; - $packageComplexity += $function['ccn']; - $functionsComplexity += $function['ccn']; + $complexity += $function->ccn; + $packageComplexity += $function->ccn; + $functionsComplexity += $function->ccn; - $linesValid = $function['executableLines']; - $linesCovered = $function['executedLines']; + $linesValid = $function->executableLines; + $linesCovered = $function->executedLines; $lineRate = $linesCovered / $linesValid; $functionsLinesValid += $linesValid; $functionsLinesCovered += $linesCovered; - $branchesValid = $function['executableBranches']; - $branchesCovered = $function['executedBranches']; + $branchesValid = $function->executableBranches; + $branchesCovered = $function->executedBranches; $branchRate = $branchesValid === 0 ? 0 : ($branchesCovered / $branchesValid); $functionsBranchesValid += $branchesValid; @@ -242,16 +242,16 @@ public function process(CodeCoverage $coverage, ?string $target = null): string $methodElement = $document->createElement('method'); $methodElement->setAttribute('name', $functionName); - $methodElement->setAttribute('signature', $function['signature']); + $methodElement->setAttribute('signature', $function->signature); $methodElement->setAttribute('line-rate', (string) $lineRate); $methodElement->setAttribute('branch-rate', (string) $branchRate); - $methodElement->setAttribute('complexity', (string) $function['ccn']); + $methodElement->setAttribute('complexity', (string) $function->ccn); $methodLinesElement = $document->createElement('lines'); $methodElement->appendChild($methodLinesElement); - foreach (range($function['startLine'], $function['endLine']) as $line) { + foreach (range($function->startLine, $function->endLine) as $line) { if (!isset($coverageData[$line])) { continue; } diff --git a/src/Report/Crap4j.php b/src/Report/Crap4j.php index a79d0a68e..8d8e5d122 100644 --- a/src/Report/Crap4j.php +++ b/src/Report/Crap4j.php @@ -71,13 +71,13 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string foreach ($classes as $className => $class) { foreach ($class['methods'] as $methodName => $method) { - $crapLoad = $this->crapLoad((float) $method['crap'], $method['ccn'], $method['coverage']); + $crapLoad = $this->crapLoad((float) $method->crap, $method->ccn, $method->coverage); - $fullCrap += $method['crap']; + $fullCrap += $method->crap; $fullCrapLoad += $crapLoad; $fullMethodCount++; - if ($method['crap'] >= $this->threshold) { + if ($method->crap >= $this->threshold) { $fullCrapMethodCount++; } @@ -90,11 +90,11 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string $methodNode->appendChild($document->createElement('package', $namespace)); $methodNode->appendChild($document->createElement('className', $className)); $methodNode->appendChild($document->createElement('methodName', $methodName)); - $methodNode->appendChild($document->createElement('methodSignature', htmlspecialchars($method['signature']))); - $methodNode->appendChild($document->createElement('fullMethod', htmlspecialchars($method['signature']))); - $methodNode->appendChild($document->createElement('crap', (string) $this->roundValue((float) $method['crap']))); - $methodNode->appendChild($document->createElement('complexity', (string) $method['ccn'])); - $methodNode->appendChild($document->createElement('coverage', (string) $this->roundValue($method['coverage']))); + $methodNode->appendChild($document->createElement('methodSignature', htmlspecialchars($method->signature))); + $methodNode->appendChild($document->createElement('fullMethod', htmlspecialchars($method->signature))); + $methodNode->appendChild($document->createElement('crap', (string) $this->roundValue((float) $method->crap))); + $methodNode->appendChild($document->createElement('complexity', (string) $method->ccn)); + $methodNode->appendChild($document->createElement('coverage', (string) $this->roundValue($method->coverage))); $methodNode->appendChild($document->createElement('crapLoad', (string) round($crapLoad))); $methodsNode->appendChild($methodNode); diff --git a/src/Report/Html/Renderer/Dashboard.php b/src/Report/Html/Renderer/Dashboard.php index 305c7fa10..4f0fd7cfc 100644 --- a/src/Report/Html/Renderer/Dashboard.php +++ b/src/Report/Html/Renderer/Dashboard.php @@ -20,6 +20,7 @@ use function str_replace; use function uasort; use function usort; +use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; use SebastianBergmann\CodeCoverage\FileCouldNotBeWrittenException; use SebastianBergmann\CodeCoverage\Node\AbstractNode; use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; @@ -102,11 +103,11 @@ private function complexity(array $classes, string $baseLink): array } $result['method'][] = [ - $method['coverage'], - $method['ccn'], - str_replace($baseLink, '', $method['link']), + $method->coverage, + $method->ccn, + str_replace($baseLink, '', $method->link), $methodName, - $method['crap'], + $method->crap, ]; } @@ -173,12 +174,12 @@ private function coverageDistribution(array $classes): array foreach ($classes as $class) { foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] === 0) { + if ($method->coverage === 0) { $result['method']['0%']++; - } elseif ($method['coverage'] === 100) { + } elseif ($method->coverage === 100) { $result['method']['100%']++; } else { - $key = floor($method['coverage'] / 10) * 10; + $key = floor($method->coverage / 10) * 10; $key = $key . '-' . ($key + 10) . '%'; $result['method'][$key]++; } @@ -219,14 +220,14 @@ private function insufficientCoverage(array $classes, string $baseLink): array foreach ($classes as $className => $class) { foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] < $this->thresholds->highLowerBound()) { + if ($method->coverage < $this->thresholds->highLowerBound()) { $key = $methodName; if ($className !== '*') { $key = $className . '::' . $methodName; } - $leastTestedMethods[$key] = $method['coverage']; + $leastTestedMethods[$key] = $method->coverage; } } @@ -252,7 +253,7 @@ private function insufficientCoverage(array $classes, string $baseLink): array $result['method'] .= sprintf( ' %s%d%%' . "\n", - str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), + str_replace($baseLink, '', $classes[$class]['methods'][$method]->link), $methodName, $method, $coverage, @@ -275,7 +276,7 @@ private function projectRisks(array $classes, string $baseLink): array foreach ($classes as $className => $class) { foreach ($class['methods'] as $methodName => $method) { - if ($method['coverage'] < $this->thresholds->highLowerBound() && $method['ccn'] > 1) { + if ($method->coverage < $this->thresholds->highLowerBound() && $method->ccn > 1) { $key = $methodName; if ($className !== '*') { @@ -296,9 +297,9 @@ private function projectRisks(array $classes, string $baseLink): array { return ((int) ($a['crap']) <=> (int) ($b['crap'])) * -1; }); - uasort($methodRisks, static function (array $a, array $b) + uasort($methodRisks, static function (ProcessedMethodType $a, ProcessedMethodType $b) { - return ((int) ($a['crap']) <=> (int) ($b['crap'])) * -1; + return ((int) ($a->crap) <=> (int) ($b->crap)) * -1; }); foreach ($classRisks as $className => $class) { @@ -317,12 +318,12 @@ private function projectRisks(array $classes, string $baseLink): array $result['method'] .= sprintf( ' %s%.1f%%%d%d' . "\n", - str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']), + str_replace($baseLink, '', $classes[$class]['methods'][$method]->link), $methodName, $method, - $methodVals['coverage'], - $methodVals['ccn'], - $methodVals['crap'], + $methodVals->coverage, + $methodVals->ccn, + $methodVals->crap, ); } diff --git a/src/Report/Html/Renderer/File.php b/src/Report/Html/Renderer/File.php index 09dbe31fe..81b54b0ae 100644 --- a/src/Report/Html/Renderer/File.php +++ b/src/Report/Html/Renderer/File.php @@ -102,6 +102,8 @@ use function str_replace; use function token_get_all; use function trim; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; +use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; use SebastianBergmann\CodeCoverage\FileCouldNotBeWrittenException; use SebastianBergmann\CodeCoverage\Node\File as FileNode; use SebastianBergmann\CodeCoverage\Util\Percentage; @@ -111,8 +113,6 @@ /** * @phpstan-import-type ProcessedClassType from FileNode * @phpstan-import-type ProcessedTraitType from FileNode - * @phpstan-import-type ProcessedMethodType from FileNode - * @phpstan-import-type ProcessedFunctionType from FileNode * * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage */ @@ -341,10 +341,10 @@ private function renderTraitOrClassItems(array $items, Template $template, Templ $numTestedMethods = 0; foreach ($item['methods'] as $method) { - if ($method['executableLines'] > 0) { + if ($method->executableLines > 0) { $numMethods++; - if ($method['executedLines'] === $method['executableLines']) { + if ($method->executedLines === $method->executableLines) { $numTestedMethods++; } } @@ -453,35 +453,32 @@ private function renderFunctionItems(array $functions, Template $template): stri return $buffer; } - /** - * @param ProcessedFunctionType|ProcessedMethodType $item - */ - private function renderFunctionOrMethodItem(Template $template, array $item, string $indent = ''): string + private function renderFunctionOrMethodItem(Template $template, ProcessedFunctionType|ProcessedMethodType $item, string $indent = ''): string { $numMethods = 0; $numTestedMethods = 0; - if ($item['executableLines'] > 0) { + if ($item->executableLines > 0) { $numMethods = 1; - if ($item['executedLines'] === $item['executableLines']) { + if ($item->executedLines === $item->executableLines) { $numTestedMethods = 1; } } $executedLinesPercentage = Percentage::fromFractionAndTotal( - $item['executedLines'], - $item['executableLines'], + $item->executedLines, + $item->executableLines, ); $executedBranchesPercentage = Percentage::fromFractionAndTotal( - $item['executedBranches'], - $item['executableBranches'], + $item->executedBranches, + $item->executableBranches, ); $executedPathsPercentage = Percentage::fromFractionAndTotal( - $item['executedPaths'], - $item['executablePaths'], + $item->executedPaths, + $item->executablePaths, ); $testedMethodsPercentage = Percentage::fromFractionAndTotal( @@ -495,27 +492,27 @@ private function renderFunctionOrMethodItem(Template $template, array $item, str 'name' => sprintf( '%s%s', $indent, - $item['startLine'], - htmlspecialchars($item['signature'], self::HTML_SPECIAL_CHARS_FLAGS), - $item['functionName'] ?? $item['methodName'], + $item->startLine, + htmlspecialchars($item->signature, self::HTML_SPECIAL_CHARS_FLAGS), + $item instanceof ProcessedFunctionType ? $item->functionName : $item->methodName, ), 'numMethods' => $numMethods, 'numTestedMethods' => $numTestedMethods, 'linesExecutedPercent' => $executedLinesPercentage->asFloat(), 'linesExecutedPercentAsString' => $executedLinesPercentage->asString(), - 'numExecutedLines' => $item['executedLines'], - 'numExecutableLines' => $item['executableLines'], + 'numExecutedLines' => $item->executedLines, + 'numExecutableLines' => $item->executableLines, 'branchesExecutedPercent' => $executedBranchesPercentage->asFloat(), 'branchesExecutedPercentAsString' => $executedBranchesPercentage->asString(), - 'numExecutedBranches' => $item['executedBranches'], - 'numExecutableBranches' => $item['executableBranches'], + 'numExecutedBranches' => $item->executedBranches, + 'numExecutableBranches' => $item->executableBranches, 'pathsExecutedPercent' => $executedPathsPercentage->asFloat(), 'pathsExecutedPercentAsString' => $executedPathsPercentage->asString(), - 'numExecutedPaths' => $item['executedPaths'], - 'numExecutablePaths' => $item['executablePaths'], + 'numExecutedPaths' => $item->executedPaths, + 'numExecutablePaths' => $item->executablePaths, 'testedMethodsPercent' => $testedMethodsPercentage->asFloat(), 'testedMethodsPercentAsString' => $testedMethodsPercentage->asString(), - 'crap' => $item['crap'], + 'crap' => $item->crap, ], ); } diff --git a/src/Report/OpenClover.php b/src/Report/OpenClover.php index 65d409b1c..90897a650 100644 --- a/src/Report/OpenClover.php +++ b/src/Report/OpenClover.php @@ -84,33 +84,33 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string foreach ($class['methods'] as $methodName => $method) { /** @phpstan-ignore equal.notAllowed */ - if ($method['executableLines'] == 0) { + if ($method->executableLines == 0) { continue; } $classMethods++; - $classStatements += $method['executableLines']; - $coveredClassStatements += $method['executedLines']; + $classStatements += $method->executableLines; + $coveredClassStatements += $method->executedLines; /** @phpstan-ignore equal.notAllowed */ - if ($method['coverage'] == 100) { + if ($method->coverage == 100) { $coveredMethods++; } $methodCount = 0; - foreach (range($method['startLine'], $method['endLine']) as $line) { + foreach (range($method->startLine, $method->endLine) as $line) { if (isset($coverageData[$line])) { $methodCount = max($methodCount, count($coverageData[$line])); } } - $lines[$method['startLine']] = [ - 'ccn' => $method['ccn'], + $lines[$method->startLine] = [ + 'ccn' => $method->ccn, 'count' => $methodCount, 'type' => 'method', - 'signature' => $method['signature'], - 'visibility' => $method['visibility'], + 'signature' => $method->signature, + 'visibility' => $method->visibility, ]; } diff --git a/src/Report/Text.php b/src/Report/Text.php index f18820b70..b2ea332d6 100644 --- a/src/Report/Text.php +++ b/src/Report/Text.php @@ -192,20 +192,20 @@ public function process(CodeCoverage $coverage, bool $showColors = false): strin foreach ($class['methods'] as $method) { /** @phpstan-ignore equal.notAllowed */ - if ($method['executableLines'] == 0) { + if ($method->executableLines == 0) { continue; } $classMethods++; - $classExecutableLines += $method['executableLines']; - $classExecutedLines += $method['executedLines']; - $classExecutableBranches += $method['executableBranches']; - $classExecutedBranches += $method['executedBranches']; - $classExecutablePaths += $method['executablePaths']; - $classExecutedPaths += $method['executedPaths']; + $classExecutableLines += $method->executableLines; + $classExecutedLines += $method->executedLines; + $classExecutableBranches += $method->executableBranches; + $classExecutedBranches += $method->executedBranches; + $classExecutablePaths += $method->executablePaths; + $classExecutedPaths += $method->executedPaths; /** @phpstan-ignore equal.notAllowed */ - if ($method['coverage'] == 100) { + if ($method->coverage == 100) { $coveredMethods++; } } diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index 126b8c53d..4a6fff1b7 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -23,6 +23,7 @@ use DateTimeImmutable; use DOMDocument; use SebastianBergmann\CodeCoverage\CodeCoverage; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\Node\AbstractNode; use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; use SebastianBergmann\CodeCoverage\Node\File; @@ -38,7 +39,6 @@ /** * @phpstan-import-type ProcessedClassType from File * @phpstan-import-type ProcessedTraitType from File - * @phpstan-import-type ProcessedFunctionType from File * @phpstan-import-type TestType from CodeCoverage */ final class Facade @@ -202,29 +202,26 @@ private function processUnit(array $unit, Report $report): void } foreach ($unit['methods'] as $method) { - $methodObject = $unitObject->addMethod($method['methodName']); - $methodObject->setSignature($method['signature']); - $methodObject->setLines((string) $method['startLine'], (string) $method['endLine']); - $methodObject->setCrap($method['crap']); + $methodObject = $unitObject->addMethod($method->methodName); + $methodObject->setSignature($method->signature); + $methodObject->setLines((string) $method->startLine, (string) $method->endLine); + $methodObject->setCrap($method->crap); $methodObject->setTotals( - (string) $method['executableLines'], - (string) $method['executedLines'], - (string) $method['coverage'], + (string) $method->executableLines, + (string) $method->executedLines, + (string) $method->coverage, ); } } - /** - * @param ProcessedFunctionType $function - */ - private function processFunction(array $function, Report $report): void + private function processFunction(ProcessedFunctionType $function, Report $report): void { - $functionObject = $report->functionObject($function['functionName']); + $functionObject = $report->functionObject($function->functionName); - $functionObject->setSignature($function['signature']); - $functionObject->setLines((string) $function['startLine']); - $functionObject->setCrap($function['crap']); - $functionObject->setTotals((string) $function['executableLines'], (string) $function['executedLines'], (string) $function['coverage']); + $functionObject->setSignature($function->signature); + $functionObject->setLines((string) $function->startLine); + $functionObject->setCrap($function->crap); + $functionObject->setTotals((string) $function->executableLines, (string) $function->executedLines, (string) $function->coverage); } /** From 2f2041f512dc0e6bd1cef25481d7e7bb37865bb4 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 10 Nov 2025 08:00:31 +0100 Subject: [PATCH 27/63] Reworked ProcessedClassType, ProcessedTraitType --- src/Data/ProcessedClassType.php | 34 +++++ src/Data/ProcessedTraitType.php | 34 +++++ src/Node/AbstractNode.php | 7 +- src/Node/Directory.php | 5 +- src/Node/File.php | 183 ++++++++++--------------- src/Report/Clover.php | 16 +-- src/Report/Cobertura.php | 16 +-- src/Report/Crap4j.php | 6 +- src/Report/Html/Renderer/Dashboard.php | 54 ++++---- src/Report/Html/Renderer/File.php | 49 ++++--- src/Report/OpenClover.php | 18 +-- src/Report/Text.php | 4 +- src/Report/Xml/Facade.php | 12 +- 13 files changed, 229 insertions(+), 209 deletions(-) create mode 100644 src/Data/ProcessedClassType.php create mode 100644 src/Data/ProcessedTraitType.php diff --git a/src/Data/ProcessedClassType.php b/src/Data/ProcessedClassType.php new file mode 100644 index 000000000..879c7f0b2 --- /dev/null +++ b/src/Data/ProcessedClassType.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\Data; + +final class ProcessedClassType +{ + public function __construct( + public string $className, + public string $namespace, + /** + * @var array + */ + public array $methods, + public int $startLine, + public int $executableLines, + public int $executedLines, + public int $executableBranches, + public int $executedBranches, + public int $executablePaths, + public int $executedPaths, + public int $ccn, + public float|int $coverage, + public int|string $crap, + public string $link, + ) { + } +} diff --git a/src/Data/ProcessedTraitType.php b/src/Data/ProcessedTraitType.php new file mode 100644 index 000000000..8d133c85c --- /dev/null +++ b/src/Data/ProcessedTraitType.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\Data; + +final class ProcessedTraitType +{ + public function __construct( + public string $traitName, + public string $namespace, + /** + * @var array + */ + public array $methods, + public int $startLine, + public int $executableLines, + public int $executedLines, + public int $executableBranches, + public int $executedBranches, + public int $executablePaths, + public int $executedPaths, + public int $ccn, + public float|int $coverage, + public int|string $crap, + public string $link, + ) { + } +} diff --git a/src/Node/AbstractNode.php b/src/Node/AbstractNode.php index 8cd612bf0..3b54d82b1 100644 --- a/src/Node/AbstractNode.php +++ b/src/Node/AbstractNode.php @@ -15,15 +15,14 @@ use function str_replace; use function substr; use Countable; +use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode; use SebastianBergmann\CodeCoverage\Util\Percentage; /** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage - * - * @phpstan-import-type ProcessedClassType from File - * @phpstan-import-type ProcessedTraitType from File */ abstract class AbstractNode implements Countable { @@ -186,7 +185,7 @@ public function cyclomaticComplexity(): int $ccn = 0; foreach ($this->classesAndTraits() as $classLike) { - $ccn += $classLike['ccn']; + $ccn += $classLike->ccn; } foreach ($this->functions() as $function) { diff --git a/src/Node/Directory.php b/src/Node/Directory.php index 7ad54ef5c..818d665dd 100644 --- a/src/Node/Directory.php +++ b/src/Node/Directory.php @@ -14,15 +14,14 @@ use function count; use IteratorAggregate; use RecursiveIteratorIterator; +use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode; /** * @template-implements IteratorAggregate * - * @phpstan-import-type ProcessedClassType from File - * @phpstan-import-type ProcessedTraitType from File - * * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage */ final class Directory extends AbstractNode implements IteratorAggregate diff --git a/src/Node/File.php b/src/Node/File.php index 8408fee92..9c57dbd03 100644 --- a/src/Node/File.php +++ b/src/Node/File.php @@ -13,8 +13,10 @@ use function count; use function range; use SebastianBergmann\CodeCoverage\CodeCoverage; +use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\StaticAnalysis\AnalysisResult; use SebastianBergmann\CodeCoverage\StaticAnalysis\Class_; use SebastianBergmann\CodeCoverage\StaticAnalysis\Function_; @@ -27,39 +29,6 @@ * * @phpstan-import-type TestType from CodeCoverage * @phpstan-import-type LinesType from AnalysisResult - * - * @phpstan-type ProcessedClassType array{ - * className: string, - * namespace: string, - * methods: array, - * startLine: int, - * executableLines: int, - * executedLines: int, - * executableBranches: int, - * executedBranches: int, - * executablePaths: int, - * executedPaths: int, - * ccn: int, - * coverage: int|float, - * crap: int|string, - * link: string - * } - * @phpstan-type ProcessedTraitType array{ - * traitName: string, - * namespace: string, - * methods: array, - * startLine: int, - * executableLines: int, - * executedLines: int, - * executableBranches: int, - * executedBranches: int, - * executablePaths: int, - * executedPaths: int, - * ccn: int, - * coverage: float|int, - * crap: int|string, - * link: string - * } */ final class File extends AbstractNode { @@ -218,7 +187,7 @@ public function numberOfClasses(): int $this->numClasses = 0; foreach ($this->classes as $class) { - foreach ($class['methods'] as $method) { + foreach ($class->methods as $method) { if ($method->executableLines > 0) { $this->numClasses++; @@ -242,7 +211,7 @@ public function numberOfTraits(): int $this->numTraits = 0; foreach ($this->traits as $trait) { - foreach ($trait['methods'] as $method) { + foreach ($trait->methods as $method) { if ($method->executableLines > 0) { $this->numTraits++; @@ -266,7 +235,7 @@ public function numberOfMethods(): int $this->numMethods = 0; foreach ($this->classes as $class) { - foreach ($class['methods'] as $method) { + foreach ($class->methods as $method) { if ($method->executableLines > 0) { $this->numMethods++; } @@ -274,7 +243,7 @@ public function numberOfMethods(): int } foreach ($this->traits as $trait) { - foreach ($trait['methods'] as $method) { + foreach ($trait->methods as $method) { if ($method->executableLines > 0) { $this->numMethods++; } @@ -291,7 +260,7 @@ public function numberOfTestedMethods(): int $this->numTestedMethods = 0; foreach ($this->classes as $class) { - foreach ($class['methods'] as $method) { + foreach ($class->methods as $method) { if ($method->executableLines > 0 && $method->coverage === 100) { $this->numTestedMethods++; @@ -300,7 +269,7 @@ public function numberOfTestedMethods(): int } foreach ($this->traits as $trait) { - foreach ($trait['methods'] as $method) { + foreach ($trait->methods as $method) { if ($method->executableLines > 0 && $method->coverage === 100) { $this->numTestedMethods++; @@ -351,11 +320,7 @@ private function calculateStatistics(array $classes, array $traits, array $funct foreach (range(1, $this->linesOfCode->linesOfCode()) as $lineNumber) { if (isset($this->lineCoverageData[$lineNumber])) { foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) { - if ($codeUnit instanceof ProcessedMethodType || $codeUnit instanceof ProcessedFunctionType) { - $codeUnit->executableLines++; - } else { - $codeUnit['executableLines']++; - } + $codeUnit->executableLines++; } unset($codeUnit); @@ -364,11 +329,7 @@ private function calculateStatistics(array $classes, array $traits, array $funct if (count($this->lineCoverageData[$lineNumber]) > 0) { foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) { - if ($codeUnit instanceof ProcessedMethodType || $codeUnit instanceof ProcessedFunctionType) { - $codeUnit->executedLines++; - } else { - $codeUnit['executedLines']++; - } + $codeUnit->executedLines++; } unset($codeUnit); @@ -379,7 +340,7 @@ private function calculateStatistics(array $classes, array $traits, array $funct } foreach ($this->traits as &$trait) { - foreach ($trait['methods'] as &$method) { + foreach ($trait->methods as &$method) { $methodLineCoverage = $method->executableLines > 0 ? ($method->executedLines / $method->executableLines) * 100 : 100; $methodBranchCoverage = $method->executableBranches > 0 ? ($method->executedBranches / $method->executableBranches) * 100 : 0; $methodPathCoverage = $method->executablePaths > 0 ? ($method->executedPaths / $method->executablePaths) * 100 : 0; @@ -387,19 +348,19 @@ private function calculateStatistics(array $classes, array $traits, array $funct $method->coverage = $methodBranchCoverage > 0 ? $methodBranchCoverage : $methodLineCoverage; $method->crap = (new CrapIndex($method->ccn, $methodPathCoverage > 0 ? $methodPathCoverage : $methodLineCoverage))->asString(); - $trait['ccn'] += $method->ccn; + $trait->ccn += $method->ccn; } unset($method); - $traitLineCoverage = $trait['executableLines'] > 0 ? ($trait['executedLines'] / $trait['executableLines']) * 100 : 100; - $traitBranchCoverage = $trait['executableBranches'] > 0 ? ($trait['executedBranches'] / $trait['executableBranches']) * 100 : 0; - $traitPathCoverage = $trait['executablePaths'] > 0 ? ($trait['executedPaths'] / $trait['executablePaths']) * 100 : 0; + $traitBranchCoverage = $trait->executableBranches > 0 ? ($trait->executedBranches / $trait->executableBranches) * 100 : 0; + $traitLineCoverage = $trait->executableLines > 0 ? ($trait->executedLines / $trait->executableLines) * 100 : 100; + $traitPathCoverage = $trait->executablePaths > 0 ? ($trait->executedPaths / $trait->executablePaths) * 100 : 0; - $trait['coverage'] = $traitBranchCoverage > 0 ? $traitBranchCoverage : $traitLineCoverage; - $trait['crap'] = (new CrapIndex($trait['ccn'], $traitPathCoverage > 0 ? $traitPathCoverage : $traitLineCoverage))->asString(); + $trait->coverage = $traitBranchCoverage > 0 ? $traitBranchCoverage : $traitLineCoverage; + $trait->crap = (new CrapIndex($trait->ccn, $traitPathCoverage > 0 ? $traitPathCoverage : $traitLineCoverage))->asString(); - if ($trait['executableLines'] > 0 && $trait['coverage'] === 100) { + if ($trait->executableLines > 0 && $trait->coverage === 100) { $this->numTestedClasses++; } } @@ -407,7 +368,7 @@ private function calculateStatistics(array $classes, array $traits, array $funct unset($trait); foreach ($this->classes as &$class) { - foreach ($class['methods'] as &$method) { + foreach ($class->methods as &$method) { $methodLineCoverage = $method->executableLines > 0 ? ($method->executedLines / $method->executableLines) * 100 : 100; $methodBranchCoverage = $method->executableBranches > 0 ? ($method->executedBranches / $method->executableBranches) * 100 : 0; $methodPathCoverage = $method->executablePaths > 0 ? ($method->executedPaths / $method->executablePaths) * 100 : 0; @@ -415,19 +376,19 @@ private function calculateStatistics(array $classes, array $traits, array $funct $method->coverage = $methodBranchCoverage > 0 ? $methodBranchCoverage : $methodLineCoverage; $method->crap = (new CrapIndex($method->ccn, $methodPathCoverage > 0 ? $methodPathCoverage : $methodLineCoverage))->asString(); - $class['ccn'] += $method->ccn; + $class->ccn += $method->ccn; } unset($method); - $classLineCoverage = $class['executableLines'] > 0 ? ($class['executedLines'] / $class['executableLines']) * 100 : 100; - $classBranchCoverage = $class['executableBranches'] > 0 ? ($class['executedBranches'] / $class['executableBranches']) * 100 : 0; - $classPathCoverage = $class['executablePaths'] > 0 ? ($class['executedPaths'] / $class['executablePaths']) * 100 : 0; + $classLineCoverage = $class->executableLines > 0 ? ($class->executedLines / $class->executableLines) * 100 : 100; + $classBranchCoverage = $class->executableBranches > 0 ? ($class->executedBranches / $class->executableBranches) * 100 : 0; + $classPathCoverage = $class->executablePaths > 0 ? ($class->executedPaths / $class->executablePaths) * 100 : 0; - $class['coverage'] = $classBranchCoverage > 0 ? $classBranchCoverage : $classLineCoverage; - $class['crap'] = (new CrapIndex($class['ccn'], $classPathCoverage > 0 ? $classPathCoverage : $classLineCoverage))->asString(); + $class->coverage = $classBranchCoverage > 0 ? $classBranchCoverage : $classLineCoverage; + $class->crap = (new CrapIndex($class->ccn, $classPathCoverage > 0 ? $classPathCoverage : $classLineCoverage))->asString(); - if ($class['executableLines'] > 0 && $class['coverage'] === 100) { + if ($class->executableLines > 0 && $class->coverage === 100) { $this->numTestedClasses++; } } @@ -456,31 +417,31 @@ private function processClasses(array $classes): void $link = $this->id() . '.html#'; foreach ($classes as $className => $class) { - $this->classes[$className] = [ - 'className' => $className, - 'namespace' => $class->namespace(), - 'methods' => [], - 'startLine' => $class->startLine(), - 'executableLines' => 0, - 'executedLines' => 0, - 'executableBranches' => 0, - 'executedBranches' => 0, - 'executablePaths' => 0, - 'executedPaths' => 0, - 'ccn' => 0, - 'coverage' => 0, - 'crap' => 0, - 'link' => $link . $class->startLine(), - ]; + $this->classes[$className] = new ProcessedClassType( + $className, + $class->namespace(), + [], + $class->startLine(), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + $link . $class->startLine(), + ); foreach ($class->methods() as $methodName => $method) { - $methodData = $this->newMethod($className, $method, $link); - $this->classes[$className]['methods'][$methodName] = $methodData; + $methodData = $this->newMethod($className, $method, $link); + $this->classes[$className]->methods[$methodName] = $methodData; - $this->classes[$className]['executableBranches'] += $methodData->executableBranches; - $this->classes[$className]['executedBranches'] += $methodData->executedBranches; - $this->classes[$className]['executablePaths'] += $methodData->executablePaths; - $this->classes[$className]['executedPaths'] += $methodData->executedPaths; + $this->classes[$className]->executableBranches += $methodData->executableBranches; + $this->classes[$className]->executedBranches += $methodData->executedBranches; + $this->classes[$className]->executablePaths += $methodData->executablePaths; + $this->classes[$className]->executedPaths += $methodData->executedPaths; $this->numExecutableBranches += $methodData->executableBranches; $this->numExecutedBranches += $methodData->executedBranches; @@ -490,7 +451,7 @@ private function processClasses(array $classes): void foreach (range($method->startLine(), $method->endLine()) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ &$this->classes[$className], - &$this->classes[$className]['methods'][$methodName], + &$this->classes[$className]->methods[$methodName], ]; } } @@ -505,31 +466,31 @@ private function processTraits(array $traits): void $link = $this->id() . '.html#'; foreach ($traits as $traitName => $trait) { - $this->traits[$traitName] = [ - 'traitName' => $traitName, - 'namespace' => $trait->namespace(), - 'methods' => [], - 'startLine' => $trait->startLine(), - 'executableLines' => 0, - 'executedLines' => 0, - 'executableBranches' => 0, - 'executedBranches' => 0, - 'executablePaths' => 0, - 'executedPaths' => 0, - 'ccn' => 0, - 'coverage' => 0, - 'crap' => 0, - 'link' => $link . $trait->startLine(), - ]; + $this->traits[$traitName] = new ProcessedTraitType( + $traitName, + $trait->namespace(), + [], + $trait->startLine(), + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + $link . $trait->startLine(), + ); foreach ($trait->methods() as $methodName => $method) { - $methodData = $this->newMethod($traitName, $method, $link); - $this->traits[$traitName]['methods'][$methodName] = $methodData; + $methodData = $this->newMethod($traitName, $method, $link); + $this->traits[$traitName]->methods[$methodName] = $methodData; - $this->traits[$traitName]['executableBranches'] += $methodData->executableBranches; - $this->traits[$traitName]['executedBranches'] += $methodData->executedBranches; - $this->traits[$traitName]['executablePaths'] += $methodData->executablePaths; - $this->traits[$traitName]['executedPaths'] += $methodData->executedPaths; + $this->traits[$traitName]->executableBranches += $methodData->executableBranches; + $this->traits[$traitName]->executedBranches += $methodData->executedBranches; + $this->traits[$traitName]->executablePaths += $methodData->executablePaths; + $this->traits[$traitName]->executedPaths += $methodData->executedPaths; $this->numExecutableBranches += $methodData->executableBranches; $this->numExecutedBranches += $methodData->executedBranches; @@ -539,7 +500,7 @@ private function processTraits(array $traits): void foreach (range($method->startLine(), $method->endLine()) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ &$this->traits[$traitName], - &$this->traits[$traitName]['methods'][$methodName], + &$this->traits[$traitName]->methods[$methodName], ]; } } diff --git a/src/Report/Clover.php b/src/Report/Clover.php index b4d696fe1..8e59d4c65 100644 --- a/src/Report/Clover.php +++ b/src/Report/Clover.php @@ -74,11 +74,11 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string $classMethods = 0; // Assumption: one namespace per file - if ($class['namespace'] !== '') { - $namespace = $class['namespace']; + if ($class->namespace !== '') { + $namespace = $class->namespace; } - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $methodName => $method) { /** @phpstan-ignore equal.notAllowed */ if ($method->executableLines == 0) { continue; @@ -118,15 +118,15 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string $xmlFile->appendChild($xmlClass); $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('complexity', (string) $class['ccn']); + $xmlMetrics->setAttribute('complexity', (string) $class->ccn); $xmlMetrics->setAttribute('methods', (string) $classMethods); $xmlMetrics->setAttribute('coveredmethods', (string) $coveredMethods); - $xmlMetrics->setAttribute('conditionals', (string) $class['executableBranches']); - $xmlMetrics->setAttribute('coveredconditionals', (string) $class['executedBranches']); + $xmlMetrics->setAttribute('conditionals', (string) $class->executableBranches); + $xmlMetrics->setAttribute('coveredconditionals', (string) $class->executedBranches); $xmlMetrics->setAttribute('statements', (string) $classStatements); $xmlMetrics->setAttribute('coveredstatements', (string) $coveredClassStatements); - $xmlMetrics->setAttribute('elements', (string) ($classMethods + $classStatements + $class['executableBranches'])); - $xmlMetrics->setAttribute('coveredelements', (string) ($coveredMethods + $coveredClassStatements + $class['executedBranches'])); + $xmlMetrics->setAttribute('elements', (string) ($classMethods + $classStatements + $class->executableBranches)); + $xmlMetrics->setAttribute('coveredelements', (string) ($coveredMethods + $coveredClassStatements + $class->executedBranches)); $xmlClass->appendChild($xmlMetrics); } diff --git a/src/Report/Cobertura.php b/src/Report/Cobertura.php index ad37a70eb..38f0e79ee 100644 --- a/src/Report/Cobertura.php +++ b/src/Report/Cobertura.php @@ -114,15 +114,15 @@ public function process(CodeCoverage $coverage, ?string $target = null): string $coverageData = $item->lineCoverageData(); foreach ($classes as $className => $class) { - $complexity += $class['ccn']; - $packageComplexity += $class['ccn']; + $complexity += $class->ccn; + $packageComplexity += $class->ccn; - $linesValid = $class['executableLines']; - $linesCovered = $class['executedLines']; + $linesValid = $class->executableLines; + $linesCovered = $class->executedLines; $lineRate = $linesValid === 0 ? 0 : ($linesCovered / $linesValid); - $branchesValid = $class['executableBranches']; - $branchesCovered = $class['executedBranches']; + $branchesValid = $class->executableBranches; + $branchesCovered = $class->executedBranches; $branchRate = $branchesValid === 0 ? 0 : ($branchesCovered / $branchesValid); $classElement = $document->createElement('class'); @@ -131,7 +131,7 @@ public function process(CodeCoverage $coverage, ?string $target = null): string $classElement->setAttribute('filename', str_replace($report->pathAsString() . DIRECTORY_SEPARATOR, '', $item->pathAsString())); $classElement->setAttribute('line-rate', (string) $lineRate); $classElement->setAttribute('branch-rate', (string) $branchRate); - $classElement->setAttribute('complexity', (string) $class['ccn']); + $classElement->setAttribute('complexity', (string) $class->ccn); $classesElement->appendChild($classElement); @@ -143,7 +143,7 @@ public function process(CodeCoverage $coverage, ?string $target = null): string $classElement->appendChild($classLinesElement); - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $methodName => $method) { if ($method->executableLines === 0) { continue; } diff --git a/src/Report/Crap4j.php b/src/Report/Crap4j.php index 8d8e5d122..b015908b4 100644 --- a/src/Report/Crap4j.php +++ b/src/Report/Crap4j.php @@ -70,7 +70,7 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string $classes = $item->classesAndTraits(); foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $methodName => $method) { $crapLoad = $this->crapLoad((float) $method->crap, $method->ccn, $method->coverage); $fullCrap += $method->crap; @@ -83,8 +83,8 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string $methodNode = $document->createElement('method'); - if ($class['namespace'] !== '') { - $namespace = $class['namespace']; + if ($class->namespace !== '') { + $namespace = $class->namespace; } $methodNode->appendChild($document->createElement('package', $namespace)); diff --git a/src/Report/Html/Renderer/Dashboard.php b/src/Report/Html/Renderer/Dashboard.php index 4f0fd7cfc..9df28c3f4 100644 --- a/src/Report/Html/Renderer/Dashboard.php +++ b/src/Report/Html/Renderer/Dashboard.php @@ -20,18 +20,16 @@ use function str_replace; use function uasort; use function usort; +use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\FileCouldNotBeWrittenException; use SebastianBergmann\CodeCoverage\Node\AbstractNode; use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; -use SebastianBergmann\CodeCoverage\Node\File as FileNode; use SebastianBergmann\Template\Exception; use SebastianBergmann\Template\Template; /** - * @phpstan-import-type ProcessedClassType from FileNode - * @phpstan-import-type ProcessedTraitType from FileNode - * * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage */ final class Dashboard extends Renderer @@ -97,7 +95,7 @@ private function complexity(array $classes, string $baseLink): array $result = ['class' => [], 'method' => []]; foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $methodName => $method) { if ($className !== '*') { $methodName = $className . '::' . $methodName; } @@ -112,11 +110,11 @@ private function complexity(array $classes, string $baseLink): array } $result['class'][] = [ - $class['coverage'], - $class['ccn'], - str_replace($baseLink, '', $class['link']), + $class->coverage, + $class->ccn, + str_replace($baseLink, '', $class->link), $className, - $class['crap'], + $class->crap, ]; } @@ -173,7 +171,7 @@ private function coverageDistribution(array $classes): array ]; foreach ($classes as $class) { - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $method) { if ($method->coverage === 0) { $result['method']['0%']++; } elseif ($method->coverage === 100) { @@ -185,12 +183,12 @@ private function coverageDistribution(array $classes): array } } - if ($class['coverage'] === 0) { + if ($class->coverage === 0) { $result['class']['0%']++; - } elseif ($class['coverage'] === 100) { + } elseif ($class->coverage === 100) { $result['class']['100%']++; } else { - $key = floor($class['coverage'] / 10) * 10; + $key = floor($class->coverage / 10) * 10; $key = $key . '-' . ($key + 10) . '%'; $result['class'][$key]++; } @@ -219,7 +217,7 @@ private function insufficientCoverage(array $classes, string $baseLink): array $result = ['class' => '', 'method' => '']; foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $methodName => $method) { if ($method->coverage < $this->thresholds->highLowerBound()) { $key = $methodName; @@ -231,8 +229,8 @@ private function insufficientCoverage(array $classes, string $baseLink): array } } - if ($class['coverage'] < $this->thresholds->highLowerBound()) { - $leastTestedClasses[$className] = $class['coverage']; + if ($class->coverage < $this->thresholds->highLowerBound()) { + $leastTestedClasses[$className] = $class->coverage; } } @@ -242,7 +240,7 @@ private function insufficientCoverage(array $classes, string $baseLink): array foreach ($leastTestedClasses as $className => $coverage) { $result['class'] .= sprintf( ' %s%d%%' . "\n", - str_replace($baseLink, '', $classes[$className]['link']), + str_replace($baseLink, '', $classes[$className]->link), $className, $coverage, ); @@ -253,7 +251,7 @@ private function insufficientCoverage(array $classes, string $baseLink): array $result['method'] .= sprintf( ' %s%d%%' . "\n", - str_replace($baseLink, '', $classes[$class]['methods'][$method]->link), + str_replace($baseLink, '', $classes[$class]->methods[$method]->link), $methodName, $method, $coverage, @@ -275,7 +273,7 @@ private function projectRisks(array $classes, string $baseLink): array $result = ['class' => '', 'method' => '']; foreach ($classes as $className => $class) { - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $methodName => $method) { if ($method->coverage < $this->thresholds->highLowerBound() && $method->ccn > 1) { $key = $methodName; @@ -287,15 +285,15 @@ private function projectRisks(array $classes, string $baseLink): array } } - if ($class['coverage'] < $this->thresholds->highLowerBound() && - $class['ccn'] > count($class['methods'])) { + if ($class->coverage < $this->thresholds->highLowerBound() && + $class->ccn > count($class->methods)) { $classRisks[$className] = $class; } } - uasort($classRisks, static function (array $a, array $b) + uasort($classRisks, static function (ProcessedClassType|ProcessedTraitType $a, ProcessedClassType|ProcessedTraitType $b) { - return ((int) ($a['crap']) <=> (int) ($b['crap'])) * -1; + return ((int) ($a->crap) <=> (int) ($b->crap)) * -1; }); uasort($methodRisks, static function (ProcessedMethodType $a, ProcessedMethodType $b) { @@ -305,11 +303,11 @@ private function projectRisks(array $classes, string $baseLink): array foreach ($classRisks as $className => $class) { $result['class'] .= sprintf( ' %s%.1f%%%d%d' . "\n", - str_replace($baseLink, '', $classes[$className]['link']), + str_replace($baseLink, '', $classes[$className]->link), $className, - $class['coverage'], - $class['ccn'], - $class['crap'], + $class->coverage, + $class->ccn, + $class->crap, ); } @@ -318,7 +316,7 @@ private function projectRisks(array $classes, string $baseLink): array $result['method'] .= sprintf( ' %s%.1f%%%d%d' . "\n", - str_replace($baseLink, '', $classes[$class]['methods'][$method]->link), + str_replace($baseLink, '', $classes[$class]->methods[$method]->link), $methodName, $method, $methodVals->coverage, diff --git a/src/Report/Html/Renderer/File.php b/src/Report/Html/Renderer/File.php index 81b54b0ae..9564e99e9 100644 --- a/src/Report/Html/Renderer/File.php +++ b/src/Report/Html/Renderer/File.php @@ -102,8 +102,10 @@ use function str_replace; use function token_get_all; use function trim; +use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\FileCouldNotBeWrittenException; use SebastianBergmann\CodeCoverage\Node\File as FileNode; use SebastianBergmann\CodeCoverage\Util\Percentage; @@ -111,9 +113,6 @@ use SebastianBergmann\Template\Template; /** - * @phpstan-import-type ProcessedClassType from FileNode - * @phpstan-import-type ProcessedTraitType from FileNode - * * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage */ final class File extends Renderer @@ -340,7 +339,7 @@ private function renderTraitOrClassItems(array $items, Template $template, Templ $numMethods = 0; $numTestedMethods = 0; - foreach ($item['methods'] as $method) { + foreach ($item->methods as $method) { if ($method->executableLines > 0) { $numMethods++; @@ -350,20 +349,20 @@ private function renderTraitOrClassItems(array $items, Template $template, Templ } } - if ($item['executableLines'] > 0) { + if ($item->executableLines > 0) { $numClasses = 1; $numTestedClasses = $numTestedMethods === $numMethods ? 1 : 0; $linesExecutedPercentAsString = Percentage::fromFractionAndTotal( - $item['executedLines'], - $item['executableLines'], + $item->executedLines, + $item->executableLines, )->asString(); $branchesExecutedPercentAsString = Percentage::fromFractionAndTotal( - $item['executedBranches'], - $item['executableBranches'], + $item->executedBranches, + $item->executableBranches, )->asString(); $pathsExecutedPercentAsString = Percentage::fromFractionAndTotal( - $item['executedPaths'], - $item['executablePaths'], + $item->executedPaths, + $item->executablePaths, )->asString(); } else { $numClasses = 0; @@ -392,35 +391,35 @@ private function renderTraitOrClassItems(array $items, Template $template, Templ 'numMethods' => $numMethods, 'numTestedMethods' => $numTestedMethods, 'linesExecutedPercent' => Percentage::fromFractionAndTotal( - $item['executedLines'], - $item['executableLines'], + $item->executedLines, + $item->executableLines, )->asFloat(), 'linesExecutedPercentAsString' => $linesExecutedPercentAsString, - 'numExecutedLines' => $item['executedLines'], - 'numExecutableLines' => $item['executableLines'], + 'numExecutedLines' => $item->executedLines, + 'numExecutableLines' => $item->executableLines, 'branchesExecutedPercent' => Percentage::fromFractionAndTotal( - $item['executedBranches'], - $item['executableBranches'], + $item->executedBranches, + $item->executableBranches, )->asFloat(), 'branchesExecutedPercentAsString' => $branchesExecutedPercentAsString, - 'numExecutedBranches' => $item['executedBranches'], - 'numExecutableBranches' => $item['executableBranches'], + 'numExecutedBranches' => $item->executedBranches, + 'numExecutableBranches' => $item->executableBranches, 'pathsExecutedPercent' => Percentage::fromFractionAndTotal( - $item['executedPaths'], - $item['executablePaths'], + $item->executedPaths, + $item->executablePaths, )->asFloat(), 'pathsExecutedPercentAsString' => $pathsExecutedPercentAsString, - 'numExecutedPaths' => $item['executedPaths'], - 'numExecutablePaths' => $item['executablePaths'], + 'numExecutedPaths' => $item->executedPaths, + 'numExecutablePaths' => $item->executablePaths, 'testedMethodsPercent' => $testedMethodsPercentage->asFloat(), 'testedMethodsPercentAsString' => $testedMethodsPercentage->asString(), 'testedClassesPercent' => $testedClassesPercentage->asFloat(), 'testedClassesPercentAsString' => $testedClassesPercentage->asString(), - 'crap' => $item['crap'], + 'crap' => $item->crap, ], ); - foreach ($item['methods'] as $method) { + foreach ($item->methods as $method) { $buffer .= $this->renderFunctionOrMethodItem( $methodItemTemplate, $method, diff --git a/src/Report/OpenClover.php b/src/Report/OpenClover.php index 90897a650..3c9a7c3d1 100644 --- a/src/Report/OpenClover.php +++ b/src/Report/OpenClover.php @@ -78,11 +78,11 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string $classMethods = 0; // Assumption: one namespace per file - if ($class['namespace'] !== '') { - $namespace = $class['namespace']; + if ($class->namespace !== '') { + $namespace = $class->namespace; } - foreach ($class['methods'] as $methodName => $method) { + foreach ($class->methods as $methodName => $method) { /** @phpstan-ignore equal.notAllowed */ if ($method->executableLines == 0) { continue; @@ -115,16 +115,16 @@ public function process(CodeCoverage $coverage, ?string $target = null, ?string } $xmlClass = $xmlDocument->createElement('class'); - $xmlClass->setAttribute('name', str_replace($class['namespace'] . '\\', '', $className)); + $xmlClass->setAttribute('name', str_replace($class->namespace . '\\', '', $className)); $xmlFile->appendChild($xmlClass); $xmlMetrics = $xmlDocument->createElement('metrics'); - $xmlMetrics->setAttribute('complexity', (string) $class['ccn']); - $xmlMetrics->setAttribute('elements', (string) ($classMethods + $classStatements + $class['executableBranches'])); - $xmlMetrics->setAttribute('coveredelements', (string) ($coveredMethods + $coveredClassStatements + $class['executedBranches'])); - $xmlMetrics->setAttribute('conditionals', (string) $class['executableBranches']); - $xmlMetrics->setAttribute('coveredconditionals', (string) $class['executedBranches']); + $xmlMetrics->setAttribute('complexity', (string) $class->ccn); + $xmlMetrics->setAttribute('elements', (string) ($classMethods + $classStatements + $class->executableBranches)); + $xmlMetrics->setAttribute('coveredelements', (string) ($coveredMethods + $coveredClassStatements + $class->executedBranches)); + $xmlMetrics->setAttribute('conditionals', (string) $class->executableBranches); + $xmlMetrics->setAttribute('coveredconditionals', (string) $class->executedBranches); $xmlMetrics->setAttribute('statements', (string) $classStatements); $xmlMetrics->setAttribute('coveredstatements', (string) $coveredClassStatements); $xmlMetrics->setAttribute('methods', (string) $classMethods); diff --git a/src/Report/Text.php b/src/Report/Text.php index b2ea332d6..4c8d70986 100644 --- a/src/Report/Text.php +++ b/src/Report/Text.php @@ -190,7 +190,7 @@ public function process(CodeCoverage $coverage, bool $showColors = false): strin $coveredMethods = 0; $classMethods = 0; - foreach ($class['methods'] as $method) { + foreach ($class->methods as $method) { /** @phpstan-ignore equal.notAllowed */ if ($method->executableLines == 0) { continue; @@ -211,7 +211,7 @@ public function process(CodeCoverage $coverage, bool $showColors = false): strin } $classCoverage[$className] = [ - 'namespace' => $class['namespace'], + 'namespace' => $class->namespace, 'className' => $className, 'methodsCovered' => $coveredMethods, 'methodCount' => $classMethods, diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index 4a6fff1b7..75828c7a8 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -23,10 +23,11 @@ use DateTimeImmutable; use DOMDocument; use SebastianBergmann\CodeCoverage\CodeCoverage; +use SebastianBergmann\CodeCoverage\Data\ProcessedClassType; use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; +use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; use SebastianBergmann\CodeCoverage\Node\AbstractNode; use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode; -use SebastianBergmann\CodeCoverage\Node\File; use SebastianBergmann\CodeCoverage\Node\File as FileNode; use SebastianBergmann\CodeCoverage\PathExistsButIsNotDirectoryException; use SebastianBergmann\CodeCoverage\Util\Filesystem; @@ -37,8 +38,6 @@ use SebastianBergmann\Environment\Runtime; /** - * @phpstan-import-type ProcessedClassType from File - * @phpstan-import-type ProcessedTraitType from File * @phpstan-import-type TestType from CodeCoverage */ final class Facade @@ -176,10 +175,7 @@ private function processFile(FileNode $file, Directory $context): void $this->saveDocument($fileReport->asDom(), $file->id()); } - /** - * @param ProcessedClassType|ProcessedTraitType $unit - */ - private function processUnit(array $unit, Report $report): void + private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report $report): void { if (isset($unit['className'])) { $unitObject = $report->classObject( @@ -201,7 +197,7 @@ private function processUnit(array $unit, Report $report): void ); } - foreach ($unit['methods'] as $method) { + foreach ($unit->methods as $method) { $methodObject = $unitObject->addMethod($method->methodName); $methodObject->setSignature($method->signature); $methodObject->setLines((string) $method->startLine, (string) $method->endLine); From 6d0f909bf6fccaca9a94865747b81857d1a1b0e2 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 10 Nov 2025 08:22:27 +0100 Subject: [PATCH 28/63] turn properties readonly --- src/Data/ProcessedClassType.php | 8 ++++---- src/Data/ProcessedFunctionType.php | 12 ++++++------ src/Data/ProcessedMethodType.php | 12 ++++++------ src/Data/ProcessedTraitType.php | 8 ++++---- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/Data/ProcessedClassType.php b/src/Data/ProcessedClassType.php index 879c7f0b2..a8a02e8e0 100644 --- a/src/Data/ProcessedClassType.php +++ b/src/Data/ProcessedClassType.php @@ -12,13 +12,13 @@ final class ProcessedClassType { public function __construct( - public string $className, - public string $namespace, + public readonly string $className, + public readonly string $namespace, /** * @var array */ public array $methods, - public int $startLine, + public readonly int $startLine, public int $executableLines, public int $executedLines, public int $executableBranches, @@ -28,7 +28,7 @@ public function __construct( public int $ccn, public float|int $coverage, public int|string $crap, - public string $link, + public readonly string $link, ) { } } diff --git a/src/Data/ProcessedFunctionType.php b/src/Data/ProcessedFunctionType.php index 6ab07d714..46fe75673 100644 --- a/src/Data/ProcessedFunctionType.php +++ b/src/Data/ProcessedFunctionType.php @@ -12,11 +12,11 @@ final class ProcessedFunctionType { public function __construct( - public string $functionName, - public string $namespace, - public string $signature, - public int $startLine, - public int $endLine, + public readonly string $functionName, + public readonly string $namespace, + public readonly string $signature, + public readonly int $startLine, + public readonly int $endLine, public int $executableLines, public int $executedLines, public int $executableBranches, @@ -26,7 +26,7 @@ public function __construct( public int $ccn, public float|int $coverage, public int|string $crap, - public string $link, + public readonly string $link, ) { } } diff --git a/src/Data/ProcessedMethodType.php b/src/Data/ProcessedMethodType.php index 63353aefd..f43b734cb 100644 --- a/src/Data/ProcessedMethodType.php +++ b/src/Data/ProcessedMethodType.php @@ -12,11 +12,11 @@ final class ProcessedMethodType { public function __construct( - public string $methodName, - public string $visibility, - public string $signature, - public int $startLine, - public int $endLine, + public readonly string $methodName, + public readonly string $visibility, + public readonly string $signature, + public readonly int $startLine, + public readonly int $endLine, public int $executableLines, public int $executedLines, public int $executableBranches, @@ -26,7 +26,7 @@ public function __construct( public int $ccn, public float|int $coverage, public int|string $crap, - public string $link, + public readonly string $link, ) { } } diff --git a/src/Data/ProcessedTraitType.php b/src/Data/ProcessedTraitType.php index 8d133c85c..79a105e00 100644 --- a/src/Data/ProcessedTraitType.php +++ b/src/Data/ProcessedTraitType.php @@ -12,13 +12,13 @@ final class ProcessedTraitType { public function __construct( - public string $traitName, - public string $namespace, + public readonly string $traitName, + public readonly string $namespace, /** * @var array */ public array $methods, - public int $startLine, + public readonly int $startLine, public int $executableLines, public int $executedLines, public int $executableBranches, @@ -28,7 +28,7 @@ public function __construct( public int $ccn, public float|int $coverage, public int|string $crap, - public string $link, + public readonly string $link, ) { } } From 9f780da9ffba85014a401235d1f2a1d419f49b51 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 10 Nov 2025 08:26:48 +0100 Subject: [PATCH 29/63] new classes are internal --- src/Data/ProcessedClassType.php | 3 +++ src/Data/ProcessedFunctionType.php | 3 +++ src/Data/ProcessedMethodType.php | 3 +++ src/Data/ProcessedTraitType.php | 3 +++ 4 files changed, 12 insertions(+) diff --git a/src/Data/ProcessedClassType.php b/src/Data/ProcessedClassType.php index a8a02e8e0..fc49007c6 100644 --- a/src/Data/ProcessedClassType.php +++ b/src/Data/ProcessedClassType.php @@ -9,6 +9,9 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +/** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ final class ProcessedClassType { public function __construct( diff --git a/src/Data/ProcessedFunctionType.php b/src/Data/ProcessedFunctionType.php index 46fe75673..8a3c0725e 100644 --- a/src/Data/ProcessedFunctionType.php +++ b/src/Data/ProcessedFunctionType.php @@ -9,6 +9,9 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +/** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ final class ProcessedFunctionType { public function __construct( diff --git a/src/Data/ProcessedMethodType.php b/src/Data/ProcessedMethodType.php index f43b734cb..cd7e39313 100644 --- a/src/Data/ProcessedMethodType.php +++ b/src/Data/ProcessedMethodType.php @@ -9,6 +9,9 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +/** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ final class ProcessedMethodType { public function __construct( diff --git a/src/Data/ProcessedTraitType.php b/src/Data/ProcessedTraitType.php index 79a105e00..b92385ed3 100644 --- a/src/Data/ProcessedTraitType.php +++ b/src/Data/ProcessedTraitType.php @@ -9,6 +9,9 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +/** + * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage + */ final class ProcessedTraitType { public function __construct( From 5ddf6cee8d8fdec1d00e5a0be6487016ab0ff86a Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 16 Nov 2025 07:44:28 +0100 Subject: [PATCH 30/63] use traditional properties --- src/Data/ProcessedClassType.php | 61 +++++++++++++++++++++++------- src/Data/ProcessedFunctionType.php | 61 ++++++++++++++++++++++-------- src/Data/ProcessedMethodType.php | 61 ++++++++++++++++++++++-------- src/Data/ProcessedTraitType.php | 61 +++++++++++++++++++++++------- 4 files changed, 186 insertions(+), 58 deletions(-) diff --git a/src/Data/ProcessedClassType.php b/src/Data/ProcessedClassType.php index fc49007c6..593e8de0f 100644 --- a/src/Data/ProcessedClassType.php +++ b/src/Data/ProcessedClassType.php @@ -14,24 +14,57 @@ */ final class ProcessedClassType { + public readonly string $className; + public readonly string $namespace; + + /** + * @var array + */ + public array $methods; + public readonly int $startLine; + public int $executableLines; + public int $executedLines; + public int $executableBranches; + public int $executedBranches; + public int $executablePaths; + public int $executedPaths; + public int $ccn; + public float|int $coverage; + public int|string $crap; + public readonly string $link; + public function __construct( - public readonly string $className, - public readonly string $namespace, + string $className, + string $namespace, /** * @var array */ - public array $methods, - public readonly int $startLine, - public int $executableLines, - public int $executedLines, - public int $executableBranches, - public int $executedBranches, - public int $executablePaths, - public int $executedPaths, - public int $ccn, - public float|int $coverage, - public int|string $crap, - public readonly string $link, + array $methods, + int $startLine, + int $executableLines, + int $executedLines, + int $executableBranches, + int $executedBranches, + int $executablePaths, + int $executedPaths, + int $ccn, + float|int $coverage, + int|string $crap, + string $link, ) { + $this->className = $className; + $this->namespace = $namespace; + $this->methods = $methods; + $this->startLine = $startLine; + $this->executableLines = $executableLines; + $this->executedLines = $executedLines; + $this->executableBranches = $executableBranches; + $this->executedBranches = $executedBranches; + $this->executablePaths = $executablePaths; + $this->executedPaths = $executedPaths; + $this->ccn = $ccn; + $this->coverage = $coverage; + $this->crap = $crap; + $this->link = $link; } } diff --git a/src/Data/ProcessedFunctionType.php b/src/Data/ProcessedFunctionType.php index 8a3c0725e..ff3a77f3c 100644 --- a/src/Data/ProcessedFunctionType.php +++ b/src/Data/ProcessedFunctionType.php @@ -14,22 +14,53 @@ */ final class ProcessedFunctionType { + public readonly string $functionName; + public readonly string $namespace; + public readonly string $signature; + public readonly int $startLine; + public readonly int $endLine; + public int $executableLines; + public int $executedLines; + public int $executableBranches; + public int $executedBranches; + public int $executablePaths; + public int $executedPaths; + public int $ccn; + public float|int $coverage; + public int|string $crap; + public readonly string $link; + public function __construct( - public readonly string $functionName, - public readonly string $namespace, - public readonly string $signature, - public readonly int $startLine, - public readonly int $endLine, - public int $executableLines, - public int $executedLines, - public int $executableBranches, - public int $executedBranches, - public int $executablePaths, - public int $executedPaths, - public int $ccn, - public float|int $coverage, - public int|string $crap, - public readonly string $link, + string $functionName, + string $namespace, + string $signature, + int $startLine, + int $endLine, + int $executableLines, + int $executedLines, + int $executableBranches, + int $executedBranches, + int $executablePaths, + int $executedPaths, + int $ccn, + float|int $coverage, + int|string $crap, + string $link, ) { + $this->link = $link; + $this->crap = $crap; + $this->coverage = $coverage; + $this->ccn = $ccn; + $this->executedPaths = $executedPaths; + $this->executablePaths = $executablePaths; + $this->executedBranches = $executedBranches; + $this->executableBranches = $executableBranches; + $this->executedLines = $executedLines; + $this->executableLines = $executableLines; + $this->endLine = $endLine; + $this->startLine = $startLine; + $this->signature = $signature; + $this->namespace = $namespace; + $this->functionName = $functionName; } } diff --git a/src/Data/ProcessedMethodType.php b/src/Data/ProcessedMethodType.php index cd7e39313..f1827633f 100644 --- a/src/Data/ProcessedMethodType.php +++ b/src/Data/ProcessedMethodType.php @@ -14,22 +14,53 @@ */ final class ProcessedMethodType { + public readonly string $methodName; + public readonly string $visibility; + public readonly string $signature; + public readonly int $startLine; + public readonly int $endLine; + public int $executableLines; + public int $executedLines; + public int $executableBranches; + public int $executedBranches; + public int $executablePaths; + public int $executedPaths; + public int $ccn; + public float|int $coverage; + public int|string $crap; + public readonly string $link; + public function __construct( - public readonly string $methodName, - public readonly string $visibility, - public readonly string $signature, - public readonly int $startLine, - public readonly int $endLine, - public int $executableLines, - public int $executedLines, - public int $executableBranches, - public int $executedBranches, - public int $executablePaths, - public int $executedPaths, - public int $ccn, - public float|int $coverage, - public int|string $crap, - public readonly string $link, + string $methodName, + string $visibility, + string $signature, + int $startLine, + int $endLine, + int $executableLines, + int $executedLines, + int $executableBranches, + int $executedBranches, + int $executablePaths, + int $executedPaths, + int $ccn, + float|int $coverage, + int|string $crap, + string $link, ) { + $this->link = $link; + $this->crap = $crap; + $this->coverage = $coverage; + $this->ccn = $ccn; + $this->executedPaths = $executedPaths; + $this->executablePaths = $executablePaths; + $this->executedBranches = $executedBranches; + $this->executableBranches = $executableBranches; + $this->executedLines = $executedLines; + $this->executableLines = $executableLines; + $this->endLine = $endLine; + $this->startLine = $startLine; + $this->signature = $signature; + $this->visibility = $visibility; + $this->methodName = $methodName; } } diff --git a/src/Data/ProcessedTraitType.php b/src/Data/ProcessedTraitType.php index b92385ed3..86e7b4687 100644 --- a/src/Data/ProcessedTraitType.php +++ b/src/Data/ProcessedTraitType.php @@ -14,24 +14,57 @@ */ final class ProcessedTraitType { + public readonly string $traitName; + public readonly string $namespace; + + /** + * @var array + */ + public array $methods; + public readonly int $startLine; + public int $executableLines; + public int $executedLines; + public int $executableBranches; + public int $executedBranches; + public int $executablePaths; + public int $executedPaths; + public int $ccn; + public float|int $coverage; + public int|string $crap; + public readonly string $link; + public function __construct( - public readonly string $traitName, - public readonly string $namespace, + string $traitName, + string $namespace, /** * @var array */ - public array $methods, - public readonly int $startLine, - public int $executableLines, - public int $executedLines, - public int $executableBranches, - public int $executedBranches, - public int $executablePaths, - public int $executedPaths, - public int $ccn, - public float|int $coverage, - public int|string $crap, - public readonly string $link, + array $methods, + int $startLine, + int $executableLines, + int $executedLines, + int $executableBranches, + int $executedBranches, + int $executablePaths, + int $executedPaths, + int $ccn, + float|int $coverage, + int|string $crap, + string $link, ) { + $this->link = $link; + $this->crap = $crap; + $this->coverage = $coverage; + $this->ccn = $ccn; + $this->executedPaths = $executedPaths; + $this->executablePaths = $executablePaths; + $this->executedBranches = $executedBranches; + $this->executableBranches = $executableBranches; + $this->executedLines = $executedLines; + $this->executableLines = $executableLines; + $this->startLine = $startLine; + $this->methods = $methods; + $this->namespace = $namespace; + $this->traitName = $traitName; } } From 45dff46c479686d8f60d3a822794823598439a57 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 08:11:08 +0100 Subject: [PATCH 31/63] fix bad merge --- src/Report/Xml/Facade.php | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index 75828c7a8..b2982e859 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -177,23 +177,23 @@ private function processFile(FileNode $file, Directory $context): void private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report $report): void { - if (isset($unit['className'])) { + if ($unit instanceof ProcessedClassType) { $unitObject = $report->classObject( - $unit['className'], - $unit['namespace'], - $unit['startLine'], - $unit['executableLines'], - $unit['executedLines'], - (float) $unit['crap'], + $unit->className, + $unit->namespace, + $unit->startLine, + $unit->executableLines, + $unit->executedLines, + (float) $unit->crap, ); } else { $unitObject = $report->traitObject( - $unit['traitName'], - $unit['namespace'], - $unit['startLine'], - $unit['executableLines'], - $unit['executedLines'], - (float) $unit['crap'], + $unit->traitName, + $unit->namespace, + $unit->startLine, + $unit->executableLines, + $unit->executedLines, + (float) $unit->crap, ); } From 7bc47044726cb141b6055d48dd6d366a46e0370e Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 09:14:18 +0100 Subject: [PATCH 32/63] Method: Move always available information into __construct() Reducing the api surface along the way --- src/Report/Xml/Facade.php | 27 ++++++++++++++++----------- src/Report/Xml/Method.php | 37 ++++++++++++++----------------------- src/Report/Xml/Report.php | 24 +++++++++++++++++++++--- src/Report/Xml/Unit.php | 24 +++++++++++++++++++++--- 4 files changed, 72 insertions(+), 40 deletions(-) diff --git a/src/Report/Xml/Facade.php b/src/Report/Xml/Facade.php index b2982e859..1bc1e009d 100644 --- a/src/Report/Xml/Facade.php +++ b/src/Report/Xml/Facade.php @@ -198,26 +198,31 @@ private function processUnit(ProcessedClassType|ProcessedTraitType $unit, Report } foreach ($unit->methods as $method) { - $methodObject = $unitObject->addMethod($method->methodName); - $methodObject->setSignature($method->signature); - $methodObject->setLines((string) $method->startLine, (string) $method->endLine); - $methodObject->setCrap($method->crap); - $methodObject->setTotals( + $unitObject->addMethod( + $method->methodName, + $method->signature, + (string) $method->startLine, + (string) $method->endLine, (string) $method->executableLines, (string) $method->executedLines, (string) $method->coverage, + $method->crap, ); } } private function processFunction(ProcessedFunctionType $function, Report $report): void { - $functionObject = $report->functionObject($function->functionName); - - $functionObject->setSignature($function->signature); - $functionObject->setLines((string) $function->startLine); - $functionObject->setCrap($function->crap); - $functionObject->setTotals((string) $function->executableLines, (string) $function->executedLines, (string) $function->coverage); + $report->functionObject( + $function->functionName, + $function->signature, + (string) $function->startLine, + null, + (string) $function->executableLines, + (string) $function->executedLines, + (string) $function->coverage, + $function->crap, + ); } /** diff --git a/src/Report/Xml/Method.php b/src/Report/Xml/Method.php index 1994d0f79..1b5bdb28f 100644 --- a/src/Report/Xml/Method.php +++ b/src/Report/Xml/Method.php @@ -18,41 +18,32 @@ { private DOMElement $contextNode; - public function __construct(DOMElement $context, string $name) - { + public function __construct( + DOMElement $context, + string $name, + string $signature, + string $start, + ?string $end, + string $executable, + string $executed, + string $coverage, + string $crap + ) { $this->contextNode = $context; - $this->setName($name); - } - - public function setSignature(string $signature): void - { + $this->contextNode->setAttribute('name', $name); $this->contextNode->setAttribute('signature', $signature); - } - public function setLines(string $start, ?string $end = null): void - { $this->contextNode->setAttribute('start', $start); if ($end !== null) { $this->contextNode->setAttribute('end', $end); } - } - public function setTotals(string $executable, string $executed, string $coverage): void - { + $this->contextNode->setAttribute('crap', $crap); + $this->contextNode->setAttribute('executable', $executable); $this->contextNode->setAttribute('executed', $executed); $this->contextNode->setAttribute('coverage', $coverage); } - - public function setCrap(string $crap): void - { - $this->contextNode->setAttribute('crap', $crap); - } - - private function setName(string $name): void - { - $this->contextNode->setAttribute('name', $name); - } } diff --git a/src/Report/Xml/Report.php b/src/Report/Xml/Report.php index 601e466c3..14d2d5a06 100644 --- a/src/Report/Xml/Report.php +++ b/src/Report/Xml/Report.php @@ -45,8 +45,16 @@ public function asDom(): DOMDocument return $this->dom(); } - public function functionObject(string $name): Method - { + public function functionObject( + string $name, + string $signature, + string $start, + ?string $end, + string $executable, + string $executed, + string $coverage, + string $crap + ): void { $node = $this->contextNode()->appendChild( $this->dom()->createElementNS( Facade::XML_NAMESPACE, @@ -56,7 +64,17 @@ public function functionObject(string $name): Method assert($node instanceof DOMElement); - return new Method($node, $name); + new Method( + $node, + $name, + $signature, + $start, + $end, + $executable, + $executed, + $coverage, + $crap, + ); } public function classObject( diff --git a/src/Report/Xml/Unit.php b/src/Report/Xml/Unit.php index 35175f30b..fa97909c2 100644 --- a/src/Report/Xml/Unit.php +++ b/src/Report/Xml/Unit.php @@ -47,8 +47,16 @@ public function __construct( $node->setAttribute('name', $namespace); } - public function addMethod(string $name): Method - { + public function addMethod( + string $name, + string $signature, + string $start, + ?string $end, + string $executable, + string $executed, + string $coverage, + string $crap + ): void { $node = $this->contextNode->appendChild( $this->contextNode->ownerDocument->createElementNS( Facade::XML_NAMESPACE, @@ -58,6 +66,16 @@ public function addMethod(string $name): Method assert($node instanceof DOMElement); - return new Method($node, $name); + new Method( + $node, + $name, + $signature, + $start, + $end, + $executable, + $executed, + $coverage, + $crap, + ); } } From 4ba867bcb3d2a6cbff59c9b9d5d6c747f4644687 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Thu, 20 Nov 2025 09:21:00 +0100 Subject: [PATCH 33/63] Node properties are immutable --- src/Report/Xml/Node.php | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Report/Xml/Node.php b/src/Report/Xml/Node.php index e1f62ebac..5c94a0883 100644 --- a/src/Report/Xml/Node.php +++ b/src/Report/Xml/Node.php @@ -18,12 +18,13 @@ */ abstract class Node { - private DOMDocument $dom; - private DOMElement $contextNode; + private readonly DOMDocument $dom; + private readonly DOMElement $contextNode; public function __construct(DOMElement $context) { - $this->setContextNode($context); + $this->dom = $context->ownerDocument; + $this->contextNode = $context; } public function dom(): DOMDocument @@ -76,12 +77,6 @@ public function addFile(string $name, string $href): File return new File($fileNode); } - protected function setContextNode(DOMElement $context): void - { - $this->dom = $context->ownerDocument; - $this->contextNode = $context; - } - protected function contextNode(): DOMElement { return $this->contextNode; From 25b096ad1226c5860703500a572d822853c45796 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 13:16:09 +0100 Subject: [PATCH 34/63] Represent FunctionCover in objects --- src/Data/ProcessedBranchCoverageData.php | 83 ++++++++++++++++++++++ src/Data/ProcessedCodeCoverageData.php | 58 ++++----------- src/Data/ProcessedFunctionCoverageData.php | 81 +++++++++++++++++++++ src/Data/ProcessedPathCoverageData.php | 59 +++++++++++++++ 4 files changed, 236 insertions(+), 45 deletions(-) create mode 100644 src/Data/ProcessedBranchCoverageData.php create mode 100644 src/Data/ProcessedFunctionCoverageData.php create mode 100644 src/Data/ProcessedPathCoverageData.php diff --git a/src/Data/ProcessedBranchCoverageData.php b/src/Data/ProcessedBranchCoverageData.php new file mode 100644 index 000000000..91a206b81 --- /dev/null +++ b/src/Data/ProcessedBranchCoverageData.php @@ -0,0 +1,83 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\Data; + +use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; + +/** + * @phpstan-import-type TestIdType from ProcessedCodeCoverageData + * @phpstan-import-type XdebugBranchCoverageType from XdebugDriver + */ +final readonly class ProcessedBranchCoverageData +{ + public function __construct( + public int $op_start, + public int $op_end, + public int $line_start, + public int $line_end, + /** @var list */ + public array $hit, + /** @var array */ + public array $out, + /** @var array */ + public array $out_hit, + + ) + { + } + + /** + * @param XdebugBranchCoverageType $xdebugCoverageData + */ + static public function fromXdebugCoverage(array $xdebugCoverageData): self + { + return new self( + $xdebugCoverageData['op_start'], + $xdebugCoverageData['op_end'], + $xdebugCoverageData['line_start'], + $xdebugCoverageData['line_end'], + [], + $xdebugCoverageData['out'], + $xdebugCoverageData['out_hit'], + ); + } + + public function merge(self $data): self + { + return new self( + $this->op_start, + $this->op_end, + $this->line_start, + $this->line_end, + array_unique(array_merge($this->hit, $data->hit)), + $this->out, + $this->out_hit, + ); + } + + /** + * @param TestIdType $testCaseId + */ + public function recordHit(string $testCaseId): self { + $hit = $this->hit; + $hit[] = $testCaseId; + + return new self( + $this->op_start, + $this->op_end, + $this->line_start, + $this->line_end, + $hit, + $this->out, + $this->out_hit, + ); + + } +} \ No newline at end of file diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index 49a103236..f896ed5ae 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -25,21 +25,7 @@ * @phpstan-import-type XdebugFunctionCoverageType from XdebugDriver * * @phpstan-type TestIdType string - * @phpstan-type FunctionCoverageDataType array{ - * branches: array, - * out: array, - * out_hit: array, - * }>, - * paths: array, - * hit: list, - * }> - * } + * @phpstan-type FunctionCoverageDataType ProcessedFunctionCoverageData * @phpstan-type FunctionCoverageType array> * @phpstan-type LineCoverageType array>> */ @@ -99,13 +85,13 @@ public function markCodeAsExecutedByTestCase(string $testCaseId, RawCodeCoverage foreach ($functions as $functionName => $functionData) { foreach ($functionData['branches'] as $branchId => $branchData) { if ($branchData['hit'] === Driver::BRANCH_HIT) { - $this->functionCoverage[$file][$functionName]['branches'][$branchId]['hit'][] = $testCaseId; + $this->functionCoverage[$file][$functionName]->recordBranchHit($branchId, $testCaseId); } } foreach ($functionData['paths'] as $pathId => $pathData) { if ($pathData['hit'] === Driver::BRANCH_HIT) { - $this->functionCoverage[$file][$functionName]['paths'][$pathId]['hit'][] = $testCaseId; + $this->functionCoverage[$file][$functionName]->recordPathHit($pathId, $testCaseId); } } } @@ -213,14 +199,6 @@ public function merge(self $newData): void } else { $this->initPreviouslyUnseenFunction($file, $functionName, $functionData); } - - foreach ($functionData['branches'] as $branchId => $branchData) { - $this->functionCoverage[$file][$functionName]['branches'][$branchId]['hit'] = array_unique(array_merge($this->functionCoverage[$file][$functionName]['branches'][$branchId]['hit'], $branchData['hit'])); - } - - foreach ($functionData['paths'] as $pathId => $pathData) { - $this->functionCoverage[$file][$functionName]['paths'][$pathId]['hit'] = array_unique(array_merge($this->functionCoverage[$file][$functionName]['paths'][$pathId]['hit'], $pathData['hit'])); - } } } } @@ -259,17 +237,13 @@ private function priorityForLine(array $data, int $line): int * * @param FunctionCoverageDataType|XdebugFunctionCoverageType $functionData */ - private function initPreviouslyUnseenFunction(string $file, string $functionName, array $functionData): void + private function initPreviouslyUnseenFunction(string $file, string $functionName, ProcessedFunctionCoverageData|array $functionData): void { - $this->functionCoverage[$file][$functionName] = $functionData; - - foreach (array_keys($functionData['branches']) as $branchId) { - $this->functionCoverage[$file][$functionName]['branches'][$branchId]['hit'] = []; + if (is_array($functionData)) { + $functionData = ProcessedFunctionCoverageData::fromXdebugCoverage($functionData); } - foreach (array_keys($functionData['paths']) as $pathId) { - $this->functionCoverage[$file][$functionName]['paths'][$pathId]['hit'] = []; - } + $this->functionCoverage[$file][$functionName] = $functionData; } /** @@ -279,20 +253,14 @@ private function initPreviouslyUnseenFunction(string $file, string $functionName * * @param FunctionCoverageDataType|XdebugFunctionCoverageType $functionData */ - private function initPreviouslySeenFunction(string $file, string $functionName, array $functionData): void + private function initPreviouslySeenFunction(string $file, string $functionName, ProcessedFunctionCoverageData|array $functionData): void { - foreach ($functionData['branches'] as $branchId => $branchData) { - if (!isset($this->functionCoverage[$file][$functionName]['branches'][$branchId])) { - $this->functionCoverage[$file][$functionName]['branches'][$branchId] = $branchData; - $this->functionCoverage[$file][$functionName]['branches'][$branchId]['hit'] = []; - } + if (is_array($functionData)) { + $functionData = ProcessedFunctionCoverageData::fromXdebugCoverage($functionData); } - foreach ($functionData['paths'] as $pathId => $pathData) { - if (!isset($this->functionCoverage[$file][$functionName]['paths'][$pathId])) { - $this->functionCoverage[$file][$functionName]['paths'][$pathId] = $pathData; - $this->functionCoverage[$file][$functionName]['paths'][$pathId]['hit'] = []; - } - } + $this->functionCoverage[$file][$functionName] = $this->functionCoverage[$file][$functionName]->merge( + $functionData + ); } } diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php new file mode 100644 index 000000000..7af1f1438 --- /dev/null +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -0,0 +1,81 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\Data; + +use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; + +/** + * @phpstan-import-type TestIdType from ProcessedCodeCoverageData + * @phpstan-import-type XdebugFunctionCoverageType from XdebugDriver + */ +final class ProcessedFunctionCoverageData { + public function __construct( + /** @var array */ + public array $branches, + /** @var array */ + public array $paths, + + ) {} + + /** + * @param XdebugFunctionCoverageType $xdebugCoverageData + */ + static public function fromXdebugCoverage(array $xdebugCoverageData): self + { + $branches = []; + foreach($xdebugCoverageData['branches'] as $branchId => $branch) { + $branches[$branchId] = ProcessedBranchCoverageData::fromXdebugCoverage($branch); + } + $paths = []; + foreach($xdebugCoverageData['paths'] as $pathId => $path) { + $paths[$pathId] = ProcessedPathCoverageData::fromXdebugCoverage($path); + } + + return new self( + $branches, + $paths + ); + } + + public function merge(self $data): self + { + $branches = $this->branches; + foreach($data->branches as $branchId => $branch) { + if (isset($branches[$branchId])) { + continue; + } + $branches[$branchId] = $branches[$branchId]->merge($branch); + } + + $paths = $this->paths; + foreach($data->paths as $pathId => $path) { + if (isset($paths[$pathId])) { + continue; + } + $paths[$pathId] = $paths[$pathId]->merge($path); + } + + return new self( + $branches, + $paths + ); + } + + /** + * @param TestIdType $testCaseId + */ + public function recordBranchHit(int $branchId, string $testCaseId): void { + $this->branches[$branchId]->recordHit($testCaseId); + } + + public function recordPathHit(int $pathId, string $testCaseId): void { + $this->paths[$pathId]->recordHit($testCaseId); + } +} diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php new file mode 100644 index 000000000..1fae81bbf --- /dev/null +++ b/src/Data/ProcessedPathCoverageData.php @@ -0,0 +1,59 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\CodeCoverage\Data; + +use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; + +/** + * @phpstan-import-type TestIdType from ProcessedCodeCoverageData + * @phpstan-import-type XdebugPathCoverageType from XdebugDriver + */ +final readonly class ProcessedPathCoverageData { + public function __construct( + /** @var array */ + public array $path, + /** @var list */ + public array $hit, + ) {} + + /** + * @param XdebugPathCoverageType $xdebugCoverageData + */ + static public function fromXdebugCoverage(array $xdebugCoverageData): self + { + return new self( + $xdebugCoverageData['path'], + [], + ); + } + + public function merge(self $data): self + { + return new self( + $this->path, + array_unique(array_merge($this->hit, $data->hit)), + ); + } + + /** + * @param TestIdType $testCaseId + */ + public function recordHit(string $testCaseId): self + { + $hit = $this->hit; + $hit[] = $testCaseId; + + return new self( + $this->path, + $hit + ); + } + +} From 1af5ebe25c16447f6440f68e28f5e47701089d47 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 16:23:54 +0100 Subject: [PATCH 35/63] Update ProcessedFunctionCoverageData.php --- src/Data/ProcessedFunctionCoverageData.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 7af1f1438..a8a9be720 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -48,18 +48,20 @@ public function merge(self $data): self { $branches = $this->branches; foreach($data->branches as $branchId => $branch) { - if (isset($branches[$branchId])) { - continue; + if (!isset($branches[$branchId])) { + $branches[$branchId] = $branch; + } else { + $branches[$branchId] = $branches[$branchId]->merge($branch); } - $branches[$branchId] = $branches[$branchId]->merge($branch); } $paths = $this->paths; foreach($data->paths as $pathId => $path) { - if (isset($paths[$pathId])) { - continue; + if (!isset($paths[$pathId])) { + $paths[$pathId] = $path; + } else { + $paths[$pathId] = $paths[$pathId]->merge($path); } - $paths[$pathId] = $paths[$pathId]->merge($path); } return new self( From 6c32bbfcf412835acfe796ab9c1580b1f55d22df Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 17:30:48 +0100 Subject: [PATCH 36/63] simplify doctypes --- src/Data/ProcessedCodeCoverageData.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index f896ed5ae..929e9c0a6 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -25,8 +25,7 @@ * @phpstan-import-type XdebugFunctionCoverageType from XdebugDriver * * @phpstan-type TestIdType string - * @phpstan-type FunctionCoverageDataType ProcessedFunctionCoverageData - * @phpstan-type FunctionCoverageType array> + * @phpstan-type FunctionCoverageType array> * @phpstan-type LineCoverageType array>> */ final class ProcessedCodeCoverageData @@ -235,7 +234,7 @@ private function priorityForLine(array $data, int $line): int /** * For a function we have never seen before, copy all data over and simply init the 'hit' array. * - * @param FunctionCoverageDataType|XdebugFunctionCoverageType $functionData + * @param ProcessedFunctionCoverageData|XdebugFunctionCoverageType $functionData */ private function initPreviouslyUnseenFunction(string $file, string $functionName, ProcessedFunctionCoverageData|array $functionData): void { @@ -251,7 +250,7 @@ private function initPreviouslyUnseenFunction(string $file, string $functionName * Techniques such as mocking and where the contents of a file are different vary during tests (e.g. compiling * containers) mean that the functions inside a file cannot be relied upon to be static. * - * @param FunctionCoverageDataType|XdebugFunctionCoverageType $functionData + * @param ProcessedFunctionCoverageData|XdebugFunctionCoverageType $functionData */ private function initPreviouslySeenFunction(string $file, string $functionName, ProcessedFunctionCoverageData|array $functionData): void { From 99bb8a6379a52b93c66a3e2c89618b05b1d2698d Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sat, 8 Nov 2025 17:39:11 +0100 Subject: [PATCH 37/63] Update ProcessedCodeCoverageDataTest.php --- .../Data/ProcessedCodeCoverageDataTest.php | 143 +++++++++--------- 1 file changed, 68 insertions(+), 75 deletions(-) diff --git a/tests/tests/Data/ProcessedCodeCoverageDataTest.php b/tests/tests/Data/ProcessedCodeCoverageDataTest.php index 46e144eec..7e7fc7e20 100644 --- a/tests/tests/Data/ProcessedCodeCoverageDataTest.php +++ b/tests/tests/Data/ProcessedCodeCoverageDataTest.php @@ -75,29 +75,28 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void $coverage->setFunctionCoverage( [ '/some/path/SomeClass.php' => [ - 'SomeClass->firstFunction' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 14, - 'line_start' => 20, - 'line_end' => 25, - 'hit' => [], - 'out' => [ - ], - 'out_hit' => [ - ], - ], + 'SomeClass->firstFunction' => + new ProcessedFunctionCoverageData( + [ + new ProcessedBranchCoverageData( + 0, + 14, + 20, + 25, + [], + [], + [] + ) ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + new ProcessedPathCoverageData( + [ 0 => 0, ], - 'hit' => [], - ], - ], - ], + [], + ), + ] + ), ], ], ); @@ -106,69 +105,63 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void $newCoverage->setFunctionCoverage( [ '/some/path/SomeClass.php' => [ - 'SomeClass->firstFunction' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 14, - 'line_start' => 20, - 'line_end' => 25, - 'hit' => [], - 'out' => [ - ], - 'out_hit' => [ - ], - ], - 1 => [ - 'op_start' => 15, - 'op_end' => 16, - 'line_start' => 26, - 'line_end' => 27, - 'hit' => [], - 'out' => [ - ], - 'out_hit' => [ - ], - ], + 'SomeClass->firstFunction' => new ProcessedFunctionCoverageData( + [ + new ProcessedBranchCoverageData( + 0, + 14, + 20, + 25, + [], + [], + [] + ), + new ProcessedBranchCoverageData( + 15, + 16, + 26, + 27, + [], + [], + [] + ) ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + new ProcessedPathCoverageData( + [ 0 => 0, ], - 'hit' => [], - ], - 1 => [ - 'path' => [ + [] + ), + new ProcessedPathCoverageData( + [ 0 => 1, ], - 'hit' => [], - ], + [] + ), + ] + ), + 'SomeClass->secondFunction' => new ProcessedFunctionCoverageData( + [ + new ProcessedBranchCoverageData( + 0, + 24, + 30, + 35, + [], + [], + [] + ), ], - ], - 'SomeClass->secondFunction' => [ - 'branches' => [ - 0 => [ - 'op_start' => 0, - 'op_end' => 24, - 'line_start' => 30, - 'line_end' => 35, - 'hit' => [], - 'out' => [ - ], - 'out_hit' => [ - ], - ], - ], - 'paths' => [ - 0 => [ - 'path' => [ + [ + new ProcessedPathCoverageData( + [ 0 => 0, ], - 'hit' => [], - ], - ], - ], + [] + ), + ] + ), ], ], ); From 26efdcef3ba5681d40cd6fb39bdf3d274a4ea0e1 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 08:21:33 +0100 Subject: [PATCH 38/63] cs --- src/Data/ProcessedBranchCoverageData.php | 42 ++++---- src/Data/ProcessedCodeCoverageData.php | 6 +- src/Data/ProcessedFunctionCoverageData.php | 43 ++++---- src/Data/ProcessedPathCoverageData.php | 27 +++--- .../Data/ProcessedCodeCoverageDataTest.php | 97 ++++++++++--------- 5 files changed, 113 insertions(+), 102 deletions(-) diff --git a/src/Data/ProcessedBranchCoverageData.php b/src/Data/ProcessedBranchCoverageData.php index 91a206b81..1d32d604a 100644 --- a/src/Data/ProcessedBranchCoverageData.php +++ b/src/Data/ProcessedBranchCoverageData.php @@ -9,6 +9,8 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +use function array_merge; +use function array_unique; use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** @@ -17,26 +19,10 @@ */ final readonly class ProcessedBranchCoverageData { - public function __construct( - public int $op_start, - public int $op_end, - public int $line_start, - public int $line_end, - /** @var list */ - public array $hit, - /** @var array */ - public array $out, - /** @var array */ - public array $out_hit, - - ) - { - } - /** * @param XdebugBranchCoverageType $xdebugCoverageData */ - static public function fromXdebugCoverage(array $xdebugCoverageData): self + public static function fromXdebugCoverage(array $xdebugCoverageData): self { return new self( $xdebugCoverageData['op_start'], @@ -49,6 +35,20 @@ static public function fromXdebugCoverage(array $xdebugCoverageData): self ); } + public function __construct( + public int $op_start, + public int $op_end, + public int $line_start, + public int $line_end, + /** @var list */ + public array $hit, + /** @var array */ + public array $out, + /** @var array */ + public array $out_hit, + ) { + } + public function merge(self $data): self { return new self( @@ -65,8 +65,9 @@ public function merge(self $data): self /** * @param TestIdType $testCaseId */ - public function recordHit(string $testCaseId): self { - $hit = $this->hit; + public function recordHit(string $testCaseId): self + { + $hit = $this->hit; $hit[] = $testCaseId; return new self( @@ -78,6 +79,5 @@ public function recordHit(string $testCaseId): self { $this->out, $this->out_hit, ); - } -} \ No newline at end of file +} diff --git a/src/Data/ProcessedCodeCoverageData.php b/src/Data/ProcessedCodeCoverageData.php index 929e9c0a6..5745ccb08 100644 --- a/src/Data/ProcessedCodeCoverageData.php +++ b/src/Data/ProcessedCodeCoverageData.php @@ -236,7 +236,7 @@ private function priorityForLine(array $data, int $line): int * * @param ProcessedFunctionCoverageData|XdebugFunctionCoverageType $functionData */ - private function initPreviouslyUnseenFunction(string $file, string $functionName, ProcessedFunctionCoverageData|array $functionData): void + private function initPreviouslyUnseenFunction(string $file, string $functionName, array|ProcessedFunctionCoverageData $functionData): void { if (is_array($functionData)) { $functionData = ProcessedFunctionCoverageData::fromXdebugCoverage($functionData); @@ -252,14 +252,14 @@ private function initPreviouslyUnseenFunction(string $file, string $functionName * * @param ProcessedFunctionCoverageData|XdebugFunctionCoverageType $functionData */ - private function initPreviouslySeenFunction(string $file, string $functionName, ProcessedFunctionCoverageData|array $functionData): void + private function initPreviouslySeenFunction(string $file, string $functionName, array|ProcessedFunctionCoverageData $functionData): void { if (is_array($functionData)) { $functionData = ProcessedFunctionCoverageData::fromXdebugCoverage($functionData); } $this->functionCoverage[$file][$functionName] = $this->functionCoverage[$file][$functionName]->merge( - $functionData + $functionData, ); } } diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index a8a9be720..9956c066e 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -15,39 +15,43 @@ * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugFunctionCoverageType from XdebugDriver */ -final class ProcessedFunctionCoverageData { - public function __construct( - /** @var array */ - public array $branches, - /** @var array */ - public array $paths, - - ) {} - +final class ProcessedFunctionCoverageData +{ /** * @param XdebugFunctionCoverageType $xdebugCoverageData */ - static public function fromXdebugCoverage(array $xdebugCoverageData): self + public static function fromXdebugCoverage(array $xdebugCoverageData): self { $branches = []; - foreach($xdebugCoverageData['branches'] as $branchId => $branch) { + + foreach ($xdebugCoverageData['branches'] as $branchId => $branch) { $branches[$branchId] = ProcessedBranchCoverageData::fromXdebugCoverage($branch); } $paths = []; - foreach($xdebugCoverageData['paths'] as $pathId => $path) { + + foreach ($xdebugCoverageData['paths'] as $pathId => $path) { $paths[$pathId] = ProcessedPathCoverageData::fromXdebugCoverage($path); } return new self( $branches, - $paths + $paths, ); } + public function __construct( + /** @var array */ + public array $branches, + /** @var array */ + public array $paths, + ) { + } + public function merge(self $data): self { $branches = $this->branches; - foreach($data->branches as $branchId => $branch) { + + foreach ($data->branches as $branchId => $branch) { if (!isset($branches[$branchId])) { $branches[$branchId] = $branch; } else { @@ -56,7 +60,8 @@ public function merge(self $data): self } $paths = $this->paths; - foreach($data->paths as $pathId => $path) { + + foreach ($data->paths as $pathId => $path) { if (!isset($paths[$pathId])) { $paths[$pathId] = $path; } else { @@ -66,18 +71,20 @@ public function merge(self $data): self return new self( $branches, - $paths + $paths, ); } /** * @param TestIdType $testCaseId */ - public function recordBranchHit(int $branchId, string $testCaseId): void { + public function recordBranchHit(int $branchId, string $testCaseId): void + { $this->branches[$branchId]->recordHit($testCaseId); } - public function recordPathHit(int $pathId, string $testCaseId): void { + public function recordPathHit(int $pathId, string $testCaseId): void + { $this->paths[$pathId]->recordHit($testCaseId); } } diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php index 1fae81bbf..6c18fd403 100644 --- a/src/Data/ProcessedPathCoverageData.php +++ b/src/Data/ProcessedPathCoverageData.php @@ -9,24 +9,20 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +use function array_merge; +use function array_unique; use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugPathCoverageType from XdebugDriver */ -final readonly class ProcessedPathCoverageData { - public function __construct( - /** @var array */ - public array $path, - /** @var list */ - public array $hit, - ) {} - +final readonly class ProcessedPathCoverageData +{ /** * @param XdebugPathCoverageType $xdebugCoverageData */ - static public function fromXdebugCoverage(array $xdebugCoverageData): self + public static function fromXdebugCoverage(array $xdebugCoverageData): self { return new self( $xdebugCoverageData['path'], @@ -34,6 +30,14 @@ static public function fromXdebugCoverage(array $xdebugCoverageData): self ); } + public function __construct( + /** @var array */ + public array $path, + /** @var list */ + public array $hit, + ) { + } + public function merge(self $data): self { return new self( @@ -47,13 +51,12 @@ public function merge(self $data): self */ public function recordHit(string $testCaseId): self { - $hit = $this->hit; + $hit = $this->hit; $hit[] = $testCaseId; return new self( $this->path, - $hit + $hit, ); } - } diff --git a/tests/tests/Data/ProcessedCodeCoverageDataTest.php b/tests/tests/Data/ProcessedCodeCoverageDataTest.php index 7e7fc7e20..9d19eacb1 100644 --- a/tests/tests/Data/ProcessedCodeCoverageDataTest.php +++ b/tests/tests/Data/ProcessedCodeCoverageDataTest.php @@ -75,28 +75,29 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void $coverage->setFunctionCoverage( [ '/some/path/SomeClass.php' => [ - 'SomeClass->firstFunction' => - new ProcessedFunctionCoverageData( - [ - new ProcessedBranchCoverageData( - 0, - 14, - 20, - 25, - [], - [], - [] - ) - ], - [ - new ProcessedPathCoverageData( - [ - 0 => 0, - ], - [], - ), - ] - ), + 'SomeClass->firstFunction' => [ + new ProcessedFunctionCoverageData( + [ + new ProcessedBranchCoverageData( + 0, + 14, + 20, + 25, + [], + [], + [], + ), + ], + [ + new ProcessedPathCoverageData( + [ + 0 => 0, + ], + [], + ), + ], + ), + ], ], ], ); @@ -105,7 +106,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void $newCoverage->setFunctionCoverage( [ '/some/path/SomeClass.php' => [ - 'SomeClass->firstFunction' => new ProcessedFunctionCoverageData( + 'SomeClass->firstFunction' => [new ProcessedFunctionCoverageData( [ new ProcessedBranchCoverageData( 0, @@ -114,7 +115,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void 25, [], [], - [] + [], ), new ProcessedBranchCoverageData( 15, @@ -123,45 +124,45 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void 27, [], [], - [] - ) + [], + ), ], [ new ProcessedPathCoverageData( [ 0 => 0, ], - [] + [], ), new ProcessedPathCoverageData( [ 0 => 1, ], - [] - ), - ] - ), - 'SomeClass->secondFunction' => new ProcessedFunctionCoverageData( - [ - new ProcessedBranchCoverageData( - 0, - 24, - 30, - 35, - [], [], - [] ), ], - [ - new ProcessedPathCoverageData( - [ - 0 => 0, - ], - [] - ), - ] ), + 'SomeClass->secondFunction' => new ProcessedFunctionCoverageData( + [ + new ProcessedBranchCoverageData( + 0, + 24, + 30, + 35, + [], + [], + [], + ), + ], + [ + new ProcessedPathCoverageData( + [ + 0 => 0, + ], + [], + ), + ], + )], ], ], ); From 27da68b884125e26546baf29cca9a20456e2906f Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 08:27:47 +0100 Subject: [PATCH 39/63] cs --- .../Data/ProcessedCodeCoverageDataTest.php | 88 +++++++++---------- 1 file changed, 43 insertions(+), 45 deletions(-) diff --git a/tests/tests/Data/ProcessedCodeCoverageDataTest.php b/tests/tests/Data/ProcessedCodeCoverageDataTest.php index 9d19eacb1..ef8c75e86 100644 --- a/tests/tests/Data/ProcessedCodeCoverageDataTest.php +++ b/tests/tests/Data/ProcessedCodeCoverageDataTest.php @@ -75,29 +75,27 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void $coverage->setFunctionCoverage( [ '/some/path/SomeClass.php' => [ - 'SomeClass->firstFunction' => [ - new ProcessedFunctionCoverageData( - [ - new ProcessedBranchCoverageData( - 0, - 14, - 20, - 25, - [], - [], - [], - ), - ], - [ - new ProcessedPathCoverageData( - [ - 0 => 0, - ], - [], - ), - ], - ), - ], + 'SomeClass->firstFunction' => new ProcessedFunctionCoverageData( + [ + new ProcessedBranchCoverageData( + 0, + 14, + 20, + 25, + [], + [], + [], + ), + ], + [ + new ProcessedPathCoverageData( + [ + 0 => 0, + ], + [], + ), + ], + ), ], ], ); @@ -106,7 +104,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void $newCoverage->setFunctionCoverage( [ '/some/path/SomeClass.php' => [ - 'SomeClass->firstFunction' => [new ProcessedFunctionCoverageData( + 'SomeClass->firstFunction' => new ProcessedFunctionCoverageData( [ new ProcessedBranchCoverageData( 0, @@ -142,27 +140,27 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void ), ], ), - 'SomeClass->secondFunction' => new ProcessedFunctionCoverageData( - [ - new ProcessedBranchCoverageData( - 0, - 24, - 30, - 35, - [], - [], - [], - ), - ], - [ - new ProcessedPathCoverageData( - [ - 0 => 0, - ], - [], - ), - ], - )], + 'SomeClass->secondFunction' => new ProcessedFunctionCoverageData( + [ + new ProcessedBranchCoverageData( + 0, + 24, + 30, + 35, + [], + [], + [], + ), + ], + [ + new ProcessedPathCoverageData( + [ + 0 => 0, + ], + [], + ), + ], + ), ], ], ); From b3008bf44b93a4b49dd25cb0072348b6528be79c Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 08:39:32 +0100 Subject: [PATCH 40/63] fix --- src/Node/File.php | 22 ++++++++++--------- .../Data/ProcessedCodeCoverageDataTest.php | 1 + 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Node/File.php b/src/Node/File.php index 9c57dbd03..cc4566d39 100644 --- a/src/Node/File.php +++ b/src/Node/File.php @@ -9,6 +9,8 @@ */ namespace SebastianBergmann\CodeCoverage\Node; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use function array_filter; use function count; use function range; @@ -583,17 +585,17 @@ private function newMethod(string $className, Method $method, string $link): Pro $executableBranches = 0; $executedBranches = 0; - if (isset($this->functionCoverageData[$key]['branches'])) { + if (isset($this->functionCoverageData[$key])) { $executableBranches = count( - $this->functionCoverageData[$key]['branches'], + $this->functionCoverageData[$key]->branches, ); $executedBranches = count( array_filter( - $this->functionCoverageData[$key]['branches'], - static function (array $branch) + $this->functionCoverageData[$key]->branches, + static function (ProcessedBranchCoverageData $branch) { - return (bool) $branch['hit']; + return (bool) $branch->hit; }, ), ); @@ -602,17 +604,17 @@ static function (array $branch) $executablePaths = 0; $executedPaths = 0; - if (isset($this->functionCoverageData[$key]['paths'])) { + if (isset($this->functionCoverageData[$key])) { $executablePaths = count( - $this->functionCoverageData[$key]['paths'], + $this->functionCoverageData[$key]->paths, ); $executedPaths = count( array_filter( - $this->functionCoverageData[$key]['paths'], - static function (array $path) + $this->functionCoverageData[$key]->paths, + static function (ProcessedPathCoverageData $path) { - return (bool) $path['hit']; + return (bool) $path->hit; }, ), ); diff --git a/tests/tests/Data/ProcessedCodeCoverageDataTest.php b/tests/tests/Data/ProcessedCodeCoverageDataTest.php index ef8c75e86..1e380e615 100644 --- a/tests/tests/Data/ProcessedCodeCoverageDataTest.php +++ b/tests/tests/Data/ProcessedCodeCoverageDataTest.php @@ -167,6 +167,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void $coverage->merge($newCoverage); + $this->assertIsArray($newCoverage->functionCoverage()['/some/path/SomeClass.php']); $this->assertArrayHasKey('SomeClass->secondFunction', $newCoverage->functionCoverage()['/some/path/SomeClass.php']); } } From 4bf185556ca53d863997f2c718c7eb5cbc0bb025 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 08:41:41 +0100 Subject: [PATCH 41/63] Update ProcessedCodeCoverageDataTest.php --- .../tests/Data/ProcessedCodeCoverageDataTest.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/tests/Data/ProcessedCodeCoverageDataTest.php b/tests/tests/Data/ProcessedCodeCoverageDataTest.php index 1e380e615..e903636b8 100644 --- a/tests/tests/Data/ProcessedCodeCoverageDataTest.php +++ b/tests/tests/Data/ProcessedCodeCoverageDataTest.php @@ -77,7 +77,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void '/some/path/SomeClass.php' => [ 'SomeClass->firstFunction' => new ProcessedFunctionCoverageData( [ - new ProcessedBranchCoverageData( + 0 => new ProcessedBranchCoverageData( 0, 14, 20, @@ -88,7 +88,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void ), ], [ - new ProcessedPathCoverageData( + 0 => new ProcessedPathCoverageData( [ 0 => 0, ], @@ -106,7 +106,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void '/some/path/SomeClass.php' => [ 'SomeClass->firstFunction' => new ProcessedFunctionCoverageData( [ - new ProcessedBranchCoverageData( + 0 => new ProcessedBranchCoverageData( 0, 14, 20, @@ -115,7 +115,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void [], [], ), - new ProcessedBranchCoverageData( + 1 => new ProcessedBranchCoverageData( 15, 16, 26, @@ -126,13 +126,13 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void ), ], [ - new ProcessedPathCoverageData( + 0 => new ProcessedPathCoverageData( [ 0 => 0, ], [], ), - new ProcessedPathCoverageData( + 1 => new ProcessedPathCoverageData( [ 0 => 1, ], @@ -142,7 +142,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void ), 'SomeClass->secondFunction' => new ProcessedFunctionCoverageData( [ - new ProcessedBranchCoverageData( + 0 => new ProcessedBranchCoverageData( 0, 24, 30, @@ -153,7 +153,7 @@ public function testMergeDoesNotCrashWhenFileContentsHaveChanged(): void ), ], [ - new ProcessedPathCoverageData( + 0 => new ProcessedPathCoverageData( [ 0 => 0, ], From 942c367d8fcd5d446a470e6417abe8f7d09ed971 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 16:26:18 +0100 Subject: [PATCH 42/63] fix --- src/Data/ProcessedBranchCoverageData.php | 30 ++++++++-------------- src/Data/ProcessedFunctionCoverageData.php | 2 +- src/Data/ProcessedPathCoverageData.php | 16 +++++------- 3 files changed, 17 insertions(+), 31 deletions(-) diff --git a/src/Data/ProcessedBranchCoverageData.php b/src/Data/ProcessedBranchCoverageData.php index 1d32d604a..dfaa8cea4 100644 --- a/src/Data/ProcessedBranchCoverageData.php +++ b/src/Data/ProcessedBranchCoverageData.php @@ -17,7 +17,7 @@ * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugBranchCoverageType from XdebugDriver */ -final readonly class ProcessedBranchCoverageData +final class ProcessedBranchCoverageData { /** * @param XdebugBranchCoverageType $xdebugCoverageData @@ -36,19 +36,20 @@ public static function fromXdebugCoverage(array $xdebugCoverageData): self } public function __construct( - public int $op_start, - public int $op_end, - public int $line_start, - public int $line_end, + readonly public int $op_start, + readonly public int $op_end, + readonly public int $line_start, + readonly public int $line_end, /** @var list */ public array $hit, /** @var array */ - public array $out, + readonly public array $out, /** @var array */ - public array $out_hit, + readonly public array $out_hit, ) { } + #[\NoDiscard] public function merge(self $data): self { return new self( @@ -65,19 +66,8 @@ public function merge(self $data): self /** * @param TestIdType $testCaseId */ - public function recordHit(string $testCaseId): self + public function recordHit(string $testCaseId): void { - $hit = $this->hit; - $hit[] = $testCaseId; - - return new self( - $this->op_start, - $this->op_end, - $this->line_start, - $this->line_end, - $hit, - $this->out, - $this->out_hit, - ); + $this->hit[] = $testCaseId; } } diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 9956c066e..52b63427b 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -15,7 +15,7 @@ * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugFunctionCoverageType from XdebugDriver */ -final class ProcessedFunctionCoverageData +final readonly class ProcessedFunctionCoverageData { /** * @param XdebugFunctionCoverageType $xdebugCoverageData diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php index 6c18fd403..aabc71e82 100644 --- a/src/Data/ProcessedPathCoverageData.php +++ b/src/Data/ProcessedPathCoverageData.php @@ -9,6 +9,7 @@ */ namespace SebastianBergmann\CodeCoverage\Data; +use NoDiscard; use function array_merge; use function array_unique; use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; @@ -17,7 +18,7 @@ * @phpstan-import-type TestIdType from ProcessedCodeCoverageData * @phpstan-import-type XdebugPathCoverageType from XdebugDriver */ -final readonly class ProcessedPathCoverageData +final class ProcessedPathCoverageData { /** * @param XdebugPathCoverageType $xdebugCoverageData @@ -32,12 +33,13 @@ public static function fromXdebugCoverage(array $xdebugCoverageData): self public function __construct( /** @var array */ - public array $path, + public readonly array $path, /** @var list */ public array $hit, ) { } + #[\NoDiscard] public function merge(self $data): self { return new self( @@ -49,14 +51,8 @@ public function merge(self $data): self /** * @param TestIdType $testCaseId */ - public function recordHit(string $testCaseId): self + public function recordHit(string $testCaseId): void { - $hit = $this->hit; - $hit[] = $testCaseId; - - return new self( - $this->path, - $hit, - ); + $this->hit[] = $testCaseId; } } From 4c075c4753a6ab9b729c4ec32885411e53d8189f Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 16:30:04 +0100 Subject: [PATCH 43/63] Update File.php --- src/Node/File.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Node/File.php b/src/Node/File.php index cc4566d39..bca665cd9 100644 --- a/src/Node/File.php +++ b/src/Node/File.php @@ -539,33 +539,33 @@ private function processFunctions(array $functions): void $this->codeUnitsByLine[$lineNumber] = [&$this->functions[$functionName]]; } - if (isset($this->functionCoverageData[$functionName]['branches'])) { - $this->functions[$functionName]->executableBranches = count( - $this->functionCoverageData[$functionName]['branches'], + if (isset($this->functionCoverageData[$functionName])) { + $this->functions[$functionName]['executableBranches'] = count( + $this->functionCoverageData[$functionName]->branches, ); $this->functions[$functionName]->executedBranches = count( array_filter( - $this->functionCoverageData[$functionName]['branches'], - static function (array $branch) + $this->functionCoverageData[$functionName]->branches, + static function (ProcessedBranchCoverageData $branch) { - return (bool) $branch['hit']; + return (bool) $branch->hit; }, ), ); } - if (isset($this->functionCoverageData[$functionName]['paths'])) { - $this->functions[$functionName]->executablePaths = count( - $this->functionCoverageData[$functionName]['paths'], + if (isset($this->functionCoverageData[$functionName])) { + $this->functions[$functionName]['executablePaths'] = count( + $this->functionCoverageData[$functionName]->paths, ); $this->functions[$functionName]->executedPaths = count( array_filter( - $this->functionCoverageData[$functionName]['paths'], - static function (array $path) + $this->functionCoverageData[$functionName]->paths, + static function (ProcessedPathCoverageData $path) { - return (bool) $path['hit']; + return (bool) $path->hit; }, ), ); From 94ea5afe13ac6eeededbb43bfc0da8b9c7830a60 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 17:05:39 +0100 Subject: [PATCH 44/63] optimize --- src/Data/ProcessedBranchCoverageData.php | 4 ++++ src/Data/ProcessedPathCoverageData.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/Data/ProcessedBranchCoverageData.php b/src/Data/ProcessedBranchCoverageData.php index dfaa8cea4..043460c89 100644 --- a/src/Data/ProcessedBranchCoverageData.php +++ b/src/Data/ProcessedBranchCoverageData.php @@ -52,6 +52,10 @@ public function __construct( #[\NoDiscard] public function merge(self $data): self { + if ($data->hit === []) { + return $this; + } + return new self( $this->op_start, $this->op_end, diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php index aabc71e82..d40bc4723 100644 --- a/src/Data/ProcessedPathCoverageData.php +++ b/src/Data/ProcessedPathCoverageData.php @@ -42,6 +42,10 @@ public function __construct( #[\NoDiscard] public function merge(self $data): self { + if ($data->hit === []) { + return $this; + } + return new self( $this->path, array_unique(array_merge($this->hit, $data->hit)), From 074120290f916b69a173b6a7e609c0f9003bd5db Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 17:10:17 +0100 Subject: [PATCH 45/63] Update ProcessedPathCoverageData.php --- src/Data/ProcessedPathCoverageData.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php index d40bc4723..4314e6a85 100644 --- a/src/Data/ProcessedPathCoverageData.php +++ b/src/Data/ProcessedPathCoverageData.php @@ -45,7 +45,7 @@ public function merge(self $data): self if ($data->hit === []) { return $this; } - + return new self( $this->path, array_unique(array_merge($this->hit, $data->hit)), From 89e87b362d39d0809554640a08f7b13db623703c Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 17:22:03 +0100 Subject: [PATCH 46/63] Update ProcessedFunctionCoverageData.php --- src/Data/ProcessedFunctionCoverageData.php | 39 ++++++++++++++-------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 52b63427b..03414d9e6 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -49,26 +49,34 @@ public function __construct( public function merge(self $data): self { - $branches = $this->branches; - - foreach ($data->branches as $branchId => $branch) { - if (!isset($branches[$branchId])) { - $branches[$branchId] = $branch; - } else { - $branches[$branchId] = $branches[$branchId]->merge($branch); + $branches = null; + if ($data->branches !== $this->branches) { + $branches = $this->branches; + foreach ($data->branches as $branchId => $branch) { + if (!isset($branches[$branchId])) { + $branches[$branchId] = $branch; + } else { + $branches[$branchId] = $branches[$branchId]->merge($branch); + } } } - $paths = $this->paths; - - foreach ($data->paths as $pathId => $path) { - if (!isset($paths[$pathId])) { - $paths[$pathId] = $path; - } else { - $paths[$pathId] = $paths[$pathId]->merge($path); + $paths = null; + if ($data->paths !== $this->paths) { + $paths = $this->paths; + foreach ($data->paths as $pathId => $path) { + if (!isset($paths[$pathId])) { + $paths[$pathId] = $path; + } else { + $paths[$pathId] = $paths[$pathId]->merge($path); + } } } + if ($branches === null && $paths === null) { + return $this; + } + return new self( $branches, $paths, @@ -83,6 +91,9 @@ public function recordBranchHit(int $branchId, string $testCaseId): void $this->branches[$branchId]->recordHit($testCaseId); } + /** + * @param TestIdType $testCaseId + */ public function recordPathHit(int $pathId, string $testCaseId): void { $this->paths[$pathId]->recordHit($testCaseId); From 7831ddab6daa9fddc9a9e1cdaa52f39a8baa4767 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 17:22:22 +0100 Subject: [PATCH 47/63] cs --- src/Data/ProcessedBranchCoverageData.php | 15 ++++++++------- src/Data/ProcessedFunctionCoverageData.php | 4 ++++ src/Data/ProcessedPathCoverageData.php | 4 ++-- src/Node/File.php | 4 ++-- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/Data/ProcessedBranchCoverageData.php b/src/Data/ProcessedBranchCoverageData.php index 043460c89..2b6076160 100644 --- a/src/Data/ProcessedBranchCoverageData.php +++ b/src/Data/ProcessedBranchCoverageData.php @@ -11,6 +11,7 @@ use function array_merge; use function array_unique; +use NoDiscard; use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** @@ -36,20 +37,20 @@ public static function fromXdebugCoverage(array $xdebugCoverageData): self } public function __construct( - readonly public int $op_start, - readonly public int $op_end, - readonly public int $line_start, - readonly public int $line_end, + public readonly int $op_start, + public readonly int $op_end, + public readonly int $line_start, + public readonly int $line_end, /** @var list */ public array $hit, /** @var array */ - readonly public array $out, + public readonly array $out, /** @var array */ - readonly public array $out_hit, + public readonly array $out_hit, ) { } - #[\NoDiscard] + #[NoDiscard] public function merge(self $data): self { if ($data->hit === []) { diff --git a/src/Data/ProcessedFunctionCoverageData.php b/src/Data/ProcessedFunctionCoverageData.php index 03414d9e6..39dcd9205 100644 --- a/src/Data/ProcessedFunctionCoverageData.php +++ b/src/Data/ProcessedFunctionCoverageData.php @@ -50,8 +50,10 @@ public function __construct( public function merge(self $data): self { $branches = null; + if ($data->branches !== $this->branches) { $branches = $this->branches; + foreach ($data->branches as $branchId => $branch) { if (!isset($branches[$branchId])) { $branches[$branchId] = $branch; @@ -62,8 +64,10 @@ public function merge(self $data): self } $paths = null; + if ($data->paths !== $this->paths) { $paths = $this->paths; + foreach ($data->paths as $pathId => $path) { if (!isset($paths[$pathId])) { $paths[$pathId] = $path; diff --git a/src/Data/ProcessedPathCoverageData.php b/src/Data/ProcessedPathCoverageData.php index 4314e6a85..ccb651931 100644 --- a/src/Data/ProcessedPathCoverageData.php +++ b/src/Data/ProcessedPathCoverageData.php @@ -9,9 +9,9 @@ */ namespace SebastianBergmann\CodeCoverage\Data; -use NoDiscard; use function array_merge; use function array_unique; +use NoDiscard; use SebastianBergmann\CodeCoverage\Driver\XdebugDriver; /** @@ -39,7 +39,7 @@ public function __construct( ) { } - #[\NoDiscard] + #[NoDiscard] public function merge(self $data): self { if ($data->hit === []) { diff --git a/src/Node/File.php b/src/Node/File.php index bca665cd9..97fa8bbc6 100644 --- a/src/Node/File.php +++ b/src/Node/File.php @@ -9,8 +9,6 @@ */ namespace SebastianBergmann\CodeCoverage\Node; -use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; -use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use function array_filter; use function count; use function range; @@ -19,6 +17,8 @@ use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionType; use SebastianBergmann\CodeCoverage\Data\ProcessedMethodType; use SebastianBergmann\CodeCoverage\Data\ProcessedTraitType; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use SebastianBergmann\CodeCoverage\StaticAnalysis\AnalysisResult; use SebastianBergmann\CodeCoverage\StaticAnalysis\Class_; use SebastianBergmann\CodeCoverage\StaticAnalysis\Function_; From 4d7f2014daa28414cad57a77826d2f357beb85c3 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Sun, 9 Nov 2025 17:56:50 +0100 Subject: [PATCH 48/63] fix --- src/Report/Html/Renderer/File.php | 49 +++++++++++++++++-------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/src/Report/Html/Renderer/File.php b/src/Report/Html/Renderer/File.php index 9564e99e9..a141d2d77 100644 --- a/src/Report/Html/Renderer/File.php +++ b/src/Report/Html/Renderer/File.php @@ -9,6 +9,9 @@ */ namespace SebastianBergmann\CodeCoverage\Report\Html; +use SebastianBergmann\CodeCoverage\Data\ProcessedBranchCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedFunctionCoverageData; +use SebastianBergmann\CodeCoverage\Data\ProcessedPathCoverageData; use const ENT_COMPAT; use const ENT_HTML401; use const ENT_SUBSTITUTE; @@ -603,18 +606,20 @@ private function renderSourceWithBranchCoverage(FileNode $node): string ]; } + /** @var ProcessedFunctionCoverageData $method */ foreach ($functionCoverageData as $method) { - foreach ($method['branches'] as $branch) { - foreach (range($branch['line_start'], $branch['line_end']) as $line) { + /** @var ProcessedBranchCoverageData $branch */ + foreach ($method->branches as $branch) { + foreach (range($branch->line_start, $branch->line_end) as $line) { if (!isset($lineData[$line])) { // blank line at end of file is sometimes included here continue; } $lineData[$line]['includedInBranches']++; - if ($branch['hit']) { + if ($branch->hit !== []) { $lineData[$line]['includedInHitBranches']++; - $lineData[$line]['tests'] = array_unique(array_merge($lineData[$line]['tests'], $branch['hit'])); + $lineData[$line]['tests'] = array_unique(array_merge($lineData[$line]['tests'], $branch->hit)); } } } @@ -689,18 +694,20 @@ private function renderSourceWithPathCoverage(FileNode $node): string ]; } + /** @var ProcessedFunctionCoverageData $method */ foreach ($functionCoverageData as $method) { - foreach ($method['paths'] as $pathId => $path) { - foreach ($path['path'] as $branchTaken) { - foreach (range($method['branches'][$branchTaken]['line_start'], $method['branches'][$branchTaken]['line_end']) as $line) { + /** @var ProcessedPathCoverageData $path */ + foreach ($method->paths as $pathId => $path) { + foreach ($path->path as $branchTaken) { + foreach (range($method->branches[$branchTaken]->line_start, $method->branches[$branchTaken]->line_end) as $line) { if (!isset($lineData[$line])) { continue; } $lineData[$line]['includedInPaths'][] = $pathId; - if ($path['hit']) { + if ($path->hit !== []) { $lineData[$line]['includedInHitPaths'][] = $pathId; - $lineData[$line]['tests'] = array_unique(array_merge($lineData[$line]['tests'], $path['hit'])); + $lineData[$line]['tests'] = array_unique(array_merge($lineData[$line]['tests'], $path->hit)); } } } @@ -873,21 +880,18 @@ private function renderPathStructure(FileNode $node): string ksort($coverageData); + /** @var ProcessedFunctionCoverageData $methodData */ foreach ($coverageData as $methodName => $methodData) { - if (!$methodData['paths']) { - continue; - } - $pathStructure = ''; - if (count($methodData['paths']) > 100) { - $pathStructure .= '