Branch Coverage

DateTime.xs
Criterion Covered Total %
branch 83 134 61.9


line true false branch
63 25378 72463 return (y % 4) ? 0 : (y % 100) ? 1 : (y % 400) ? 0 : 1;
3886 21492 return (y % 4) ? 0 : (y % 100) ? 1 : (y % 400) ? 0 : 1;
3141 745 return (y % 4) ? 0 : (y % 100) ? 1 : (y % 400) ? 0 : 1;
89 115721 204912 if (d <= 0) {
103 39717 280916 if (m > 12) {
108 57707 262926 EXTEND(SP, extra ? 7 : 3);
0 320633 EXTEND(SP, extra ? 7 : 3);
0 0 EXTEND(SP, extra ? 7 : 3);
113 57707 262926 if (extra) {
117 25451 32256 if ( dow <= 0 ) {
123 14195 43512 if (_real_is_leap_year(y)) {
146 39394 249208 if (m <= 2) {
150 409 248799 } else if (m > 14) {
156 115724 172878 if (y < 0) {
166 0 288602 EXTEND(SP, 1);
188 53 89599 if (utc_secs >= SECONDS_PER_DAY) {
189 0 53 if (utc_secs >= SECONDS_PER_DAY + 1) {
192 0 0 croak("Invalid UTC RD seconds value: %s", SvPV_nolen(newSViv(utc_secs)));
199 1 52 if (h < 0) {
204 0 89652 EXTEND(SP, 3);
216 96 113448 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
113448 96 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
0 113448 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
113448 0 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
217 113448 0 IV d = SvIV(days);
218 113448 0 IV s = SvIV(secs);
221 56 113392 if (s < 0) {
240 0 75 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
75 0 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
0 75 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
75 0 if (dt_isfinite(SvNV(days)) && dt_isfinite(SvNV(secs))) {
241 75 0 IV d = SvIV(days);
242 75 0 IV s = SvIV(secs);
245 424 75 while (s < 0) {
254 584382 75 while (s > day_length - 1) {
273 0 57554 EXTEND(SP, 1);
281 0 40134 EXTEND(SP, 1);
292 0 151 EXTEND(SP, 1);
303 0 0 EXTEND(SP, 1);
304 0 0 mPUSHi(day_length > 86400 ? 1 : 0);
312 14 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
14 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
14 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
14 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
14 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 9 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
5 0 SET_LEAP_SECONDS(utc_rd, leap_seconds);
314 0 14 EXTEND(SP, 1);