Branch Coverage

DateTime.xs
Criterion Covered Total %
branch 83 134 61.9


line true false branch
56 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;
82 115721 204912 if (d <= 0) {
96 39717 280916 if (m > 12) {
101 57707 262926 EXTEND(SP, extra ? 7 : 3);
0 320633 EXTEND(SP, extra ? 7 : 3);
0 0 EXTEND(SP, extra ? 7 : 3);
106 57707 262926 if (extra) {
110 25433 32274 if ( dow <= 0 ) {
116 14195 43512 if (_real_is_leap_year(y)) {
139 39394 249208 if (m <= 2) {
143 409 248799 } else if (m > 14) {
149 115724 172878 if (y < 0) {
159 0 288602 EXTEND(SP, 1);
181 53 89599 if (utc_secs >= SECONDS_PER_DAY) {
182 0 53 if (utc_secs >= SECONDS_PER_DAY + 1) {
185 0 0 croak("Invalid UTC RD seconds value: %s", SvPV_nolen(newSViv(utc_secs)));
192 1 52 if (h < 0) {
197 0 89652 EXTEND(SP, 3);
209 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))) {
210 113448 0 IV d = SvIV(days);
211 113448 0 IV s = SvIV(secs);
214 56 113392 if (s < 0) {
233 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))) {
234 75 0 IV d = SvIV(days);
235 75 0 IV s = SvIV(secs);
238 424 75 while (s < 0) {
247 584382 75 while (s > day_length - 1) {
266 0 57554 EXTEND(SP, 1);
274 0 40134 EXTEND(SP, 1);
285 0 151 EXTEND(SP, 1);
296 0 0 EXTEND(SP, 1);
297 0 0 mPUSHi(day_length > 86400 ? 1 : 0);
305 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);
307 0 14 EXTEND(SP, 1);