Branch Coverage

Util.xs
Criterion Covered Total %
branch 133 206 64.5


line true false branch
24 96 26 if( is_string0(sv) )
26 56 40 const char *pv = SvPV(sv, len);
34 62 16 return SvROK(sv) && ( SVt_PVAV == SvTYPE(SvRV(sv) ) );
32 30 return SvROK(sv) && ( SVt_PVAV == SvTYPE(SvRV(sv) ) );
40 58 16 return SvROK(sv) && ( SVt_PVHV == SvTYPE(SvRV(sv) ) );
28 30 return SvROK(sv) && ( SVt_PVHV == SvTYPE(SvRV(sv) ) );
47 37 6 if( sv_isobject( sv ) )
54 0 37 PUSHMARK(SP);
55 0 37 XPUSHs( sv_2mortal( newSVsv( sv ) ) );
56 0 37 XPUSHs( sv_2mortal( newSVpv( like, strlen(like) ) ) );
59 37 0 if( ( count = call_pv("overload::Method", G_SCALAR) ) )
66 37 0 if( SvTRUE(ST(0)) )
0 37 if( SvTRUE(ST(0)) )
11 26 if( SvTRUE(ST(0)) )
11 0 if( SvTRUE(ST(0)) )
0 11 if( SvTRUE(ST(0)) )
0 26 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
0 26 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
0 0 if( SvTRUE(ST(0)) )
26 11 if( SvTRUE(ST(0)) )
71 37 0 FREETMPS;
86 18 32 if( SvMAGICAL(sv) )
88 36 14 if( is_string( sv ) )
102 22 40 if( SvMAGICAL(sv) )
104 62 0 if( ( SvIOK(sv) ) || ( SvNOK(sv) ) || ( is_string( sv ) && looks_like_number( sv ) ) )
62 0 if( ( SvIOK(sv) ) || ( SvNOK(sv) ) || ( is_string( sv ) && looks_like_number( sv ) ) )
48 14 if( ( SvIOK(sv) ) || ( SvNOK(sv) ) || ( is_string( sv ) && looks_like_number( sv ) ) )
44 4 if( ( SvIOK(sv) ) || ( SvNOK(sv) ) || ( is_string( sv ) && looks_like_number( sv ) ) )
118 0 28 if( SvMAGICAL(ref) )
120 20 8 if( SvROK(ref) )
122 14 6 if( ( SvTYPE(SvRV(ref)) <= SVt_PVBM ) && !sv_isobject(ref) )
14 0 if( ( SvTYPE(SvRV(ref)) <= SVt_PVBM ) && !sv_isobject(ref) )
137 0 24 if( SvMAGICAL(ref) )
139 16 8 if( SvROK(ref) )
142 10 6 if( ( SvTYPE(SvRV(ref)) <= SVt_PVBM ) && (!sv_isobject(ref)) && is_string( SvRV(ref) ) )
10 0 if( ( SvTYPE(SvRV(ref)) <= SVt_PVBM ) && (!sv_isobject(ref)) && is_string( SvRV(ref) ) )
6 4 if( ( SvTYPE(SvRV(ref)) <= SVt_PVBM ) && (!sv_isobject(ref)) && is_string( SvRV(ref) ) )
157 0 22 if( SvMAGICAL(ref) )
159 14 8 if( SvROK(ref) )
163 4 10 if( ( SVt_REGEXP == tp ) )
183 0 24 if( SvMAGICAL(ref) )
185 10 14 if( is_array(ref) )
200 0 24 if( SvMAGICAL(ref) )
202 10 14 if( is_array(ref) && ( av_len((AV *)(SvRV(ref))) >= 0 ) )
8 2 if( is_array(ref) && ( av_len((AV *)(SvRV(ref))) >= 0 ) )
216 0 36 if( SvMAGICAL(ref) )
218 30 6 if( SvROK(ref) )
220 18 12 if( is_array(ref) || is_like( ref, "@{}" ) )
12 6 if( is_array(ref) || is_like( ref, "@{}" ) )
236 0 22 if( SvMAGICAL(ref) )
238 8 14 if( is_hash(ref) )
253 0 22 if( SvMAGICAL(ref) )
255 8 14 if( is_hash(ref) && ( HvKEYS(SvRV(ref)) >= 1 ) )
0 8 if( is_hash(ref) && ( HvKEYS(SvRV(ref)) >= 1 ) )
6 2 if( is_hash(ref) && ( HvKEYS(SvRV(ref)) >= 1 ) )
270 0 36 if( SvMAGICAL(ref) )
272 30 6 if( SvROK(ref) )
274 18 12 if( is_hash(ref) || is_like( ref, "%{}" ) )
12 6 if( is_hash(ref) || is_like( ref, "%{}" ) )
290 0 24 if( SvMAGICAL(ref) )
292 16 8 if( SvROK(ref) )
294 10 6 if( SVt_PVCV == SvTYPE(SvRV(ref)) )
309 0 17 if( SvMAGICAL(ref) )
311 11 6 if( SvROK(ref) )
313 7 4 if( ( SVt_PVCV == SvTYPE(SvRV(ref)) ) || ( is_like(ref, "&{}" ) ) )
2 5 if( ( SVt_PVCV == SvTYPE(SvRV(ref)) ) || ( is_like(ref, "&{}" ) ) )
330 0 57 if( SvMAGICAL(ref) )
332 49 8 if( SvROK(ref) && type && ( ( len = strlen(type) ) > 0 ) )
49 0 if( SvROK(ref) && type && ( ( len = strlen(type) ) > 0 ) )
49 0 if( SvROK(ref) && type && ( ( len = strlen(type) ) > 0 ) )
334 39 10 if( sv_isobject(ref) )
341 0 39 PUSHMARK(SP);
342 0 39 XPUSHs( sv_2mortal( newSVsv( ref ) ) );
343 0 39 XPUSHs( sv_2mortal( newSVpv( type, len ) ) );
346 39 0 if( ( count = call_method("isa", G_SCALAR) ) )
352 39 0 isa_type = SvTRUE(ST(0));
0 39 isa_type = SvTRUE(ST(0));
0 0 isa_type = SvTRUE(ST(0));
0 39 isa_type = SvTRUE(ST(0));
0 0 isa_type = SvTRUE(ST(0));
0 0 isa_type = SvTRUE(ST(0));
27 12 isa_type = SvTRUE(ST(0));
27 0 isa_type = SvTRUE(ST(0));
27 0 isa_type = SvTRUE(ST(0));
24 3 isa_type = SvTRUE(ST(0));
24 0 isa_type = SvTRUE(ST(0));
24 3 isa_type = SvTRUE(ST(0));
12 0 isa_type = SvTRUE(ST(0));
12 0 isa_type = SvTRUE(ST(0));
0 12 isa_type = SvTRUE(ST(0));
0 0 isa_type = SvTRUE(ST(0));
0 0 isa_type = SvTRUE(ST(0));
12 0 isa_type = SvTRUE(ST(0));
0 0 isa_type = SvTRUE(ST(0));
357 39 0 FREETMPS;
360 36 3 if( isa_type )