Branch Coverage

xs/private.h
Criterion Covered Total %
branch 36 110 32.7


line true false branch
12 0 10 if (!items) return nullptr;
15 4 6 if (SvPOK(args[0]) && !looks_like_number(args[0])) {
4 0 if (SvPOK(args[0]) && !looks_like_number(args[0])) {
4 0 if (SvPOK(args[0]) && !looks_like_number(args[0])) {
4 6 if (SvPOK(args[0]) && !looks_like_number(args[0])) {
16 16 4 for (I32 i = 0; i < items - 1; i += 2) {
18 16 0 if (!SvPOK(keysv) || SvCUR(keysv) < 2) continue;
0 16 if (!SvPOK(keysv) || SvCUR(keysv) < 2) continue;
21 2 0 case 'y': if (key == "year" ) vals[0] = SvIV(args[i+1]); break;
2 0 case 'y': if (key == "year" ) vals[0] = SvIV(args[i+1]); break;
2 0 case 'y': if (key == "year" ) vals[0] = SvIV(args[i+1]); break;
0 0 case 'y': if (key == "year" ) vals[0] = SvIV(args[i+1]); break;
22 2 0 case 'd': if (key == "day" ) vals[2] = xs::in(args[i+1]); break;
2 0 case 'd': if (key == "day" ) vals[2] = xs::in(args[i+1]); break;
2 0 case 'd': if (key == "day" ) vals[2] = xs::in(args[i+1]); break;
23 3 0 case 'h': if (key == "hour" ) vals[3] = xs::in(args[i+1]); break;
3 0 case 'h': if (key == "hour" ) vals[3] = xs::in(args[i+1]); break;
3 0 case 'h': if (key == "hour" ) vals[3] = xs::in(args[i+1]); break;
24 4 0 case 's': if (key == "sec" ) vals[5] = xs::in(args[i+1]); break;
4 0 case 's': if (key == "sec" ) vals[5] = xs::in(args[i+1]); break;
4 0 case 's': if (key == "sec" ) vals[5] = xs::in(args[i+1]); break;
25 0 0 case 't': if (key == "tz" ) tz = xs::in(args[i+1]); break;
0 0 case 't': if (key == "tz" ) tz = xs::in(args[i+1]); break;
0 0 case 't': if (key == "tz" ) tz = xs::in(args[i+1]); break;
26 0 0 case 'i': if (key == "isdst") vals[7] = SvIV(args[i+1]); break;
0 0 case 'i': if (key == "isdst") vals[7] = SvIV(args[i+1]); break;
0 0 case 'i': if (key == "isdst") vals[7] = SvIV(args[i+1]); break;
0 0 case 'i': if (key == "isdst") vals[7] = SvIV(args[i+1]); break;
28 2 0 case 'o': if (key == "month") vals[1] = xs::in(args[i+1]); break;
2 0 case 'o': if (key == "month") vals[1] = xs::in(args[i+1]); break;
2 0 case 'o': if (key == "month") vals[1] = xs::in(args[i+1]); break;
29 3 0 case 'i': if (key == "min" ) vals[4] = xs::in(args[i+1]); break;
3 0 case 'i': if (key == "min" ) vals[4] = xs::in(args[i+1]); break;
3 0 case 'i': if (key == "min" ) vals[4] = xs::in(args[i+1]); break;
30 0 0 case 'k': if (key == "mksec") vals[6] = SvIV(args[i+1]); break;
0 0 case 'k': if (key == "mksec") vals[6] = SvIV(args[i+1]); break;
0 0 case 'k': if (key == "mksec") vals[6] = SvIV(args[i+1]); break;
0 0 case 'k': if (key == "mksec") vals[6] = SvIV(args[i+1]); break;
31 0 0 default : warn("unknown parameter '%s'", string(key).c_str()); break;
0 0 default : warn("unknown parameter '%s'", string(key).c_str()); break;
0 0 default : warn("unknown parameter '%s'", string(key).c_str()); break;
33 0 0 default: warn("unknown parameter '%s'", string(key).c_str()); break;
0 0 default: warn("unknown parameter '%s'", string(key).c_str()); break;
0 0 default: warn("unknown parameter '%s'", string(key).c_str()); break;
37 0 6 if (items > 8) items = 8;
39 0 0 case 8: tz = xs::in(args[7]); // fall through
40 0 0 case 7: vals[6] = SvIV(args[6]); // fall through
0 0 case 7: vals[6] = SvIV(args[6]); // fall through
41 5 0 case 6: vals[5] = xs::in(args[5]); // fall through
42 5 0 case 5: vals[4] = xs::in(args[4]); // fall through
43 5 0 case 4: vals[3] = xs::in(args[3]); // fall through
44 6 0 case 3: vals[2] = xs::in(args[2]); // fall through
45 6 0 case 2: vals[1] = xs::in(args[1]); // fall through
46 6 0 case 1: vals[0] = SvIV(args[0]);
0 0 case 1: vals[0] = SvIV(args[0]);