Branch Coverage

lib/Basic/Coercion/XS.xs
Criterion Covered Total %
branch 54 86 62.7


line true false branch
16 4 0 char *callr = HvNAME((HV*)CopSTASH(PL_curcop));
4 0 char *callr = HvNAME((HV*)CopSTASH(PL_curcop));
0 4 char *callr = HvNAME((HV*)CopSTASH(PL_curcop));
0 0 char *callr = HvNAME((HV*)CopSTASH(PL_curcop));
4 0 char *callr = HvNAME((HV*)CopSTASH(PL_curcop));
0 4 char *callr = HvNAME((HV*)CopSTASH(PL_curcop));
24 8 6 if (!pattern_sv || !SvROK(*pattern_sv)) {
6 2 if (!pattern_sv || !SvROK(*pattern_sv)) {
25 6 6 char *pattern = (pattern_sv && SvOK(*pattern_sv)) ? SvPV_nolen(*pattern_sv) : "\\s+";
6 0 char *pattern = (pattern_sv && SvOK(*pattern_sv)) ? SvPV_nolen(*pattern_sv) : "\\s+";
35 0 14 if (!rx) {
42 57 0 while (pos <= input_len) {
45 43 14 if (nmatch > 0) {
50 0 43 if (match_end == match_start) {
74 8 0 if (!self || !SvOK(self)) {
0 8 if (!self || !SvOK(self)) {
78 0 8 if (SvTYPE(param) != SVt_PV) {
101 0 9 if (items % 2 != 0) {
105 4 9 for (i = 0; i < items; i += 2) {
108 4 0 if (!SvOK(key) || SvTYPE(key) != SVt_PV) {
0 4 if (!SvOK(key) || SvTYPE(key) != SVt_PV) {
111 0 4 if (!SvOK(value)) {
125 6 0 if (!self || !SvOK(self)) {
0 6 if (!self || !SvOK(self)) {
129 0 6 if (SvTYPE(param) != SVt_PV) {
141 6 0 if (length && (length - 1) % 2 != 0) {
1 5 if (length && (length - 1) % 2 != 0) {
147 14 5 for (i = 0; i < length; i += 2) {
168 0 5 if (items % 2 != 0) {
172 2 5 for (i = 0; i < items; i += 2) {
175 2 0 if (!SvOK(key) || SvTYPE(key) != SVt_PV) {
0 2 if (!SvOK(key) || SvTYPE(key) != SVt_PV) {
178 0 2 if (!SvOK(value)) {
198 3 0 if (!self || !SvROK(self)) {
0 3 if (!self || !SvROK(self)) {
201 2 1 if (SvTYPE(pattern) != SVt_PV && !SvROK(pattern)) {
1 1 if (SvTYPE(pattern) != SVt_PV && !SvROK(pattern)) {
216 14 0 if (!SvROK(self) || SvTYPE(SvRV(self)) != SVt_PVHV) {
0 14 if (!SvROK(self) || SvTYPE(SvRV(self)) != SVt_PVHV) {
230 3 4 for (i = 1; i < items; i++) {
234 0 3 if (!name) croak("Out of memory");
236 2 1 if (strcmp(ex, "StrToArray") == 0) {
238 1 0 } else if (strcmp(ex, "StrToHash") == 0) {