Condition Coverage

lib/Text/JSContact.pm
Criterion Covered Total %
condition 185 358 51.6


and 3 conditions

line !l l&&!r l&&r condition
29 355 0 98 $items and @$items
58 74 0 36 defined $pid and $pid ne ""
86 59 0 14 defined $pref and &looks_like_number($pref)
120 157 0 18 defined $val and $val ne ""
184 0 0 35 $parsed and $parsed->{'objects'}
0 0 35 $parsed and $parsed->{'objects'} and @{$parsed->{'objects'};}
187 0 0 35 $vcard and $vcard->{'type'} eq "vcard"
265 0 0 38 defined $v and $v ne ""
282 0 0 2 $i <= $#kind_map and defined $sa[$i]
0 0 2 $i <= $#kind_map and defined $sa[$i] and $sa[$i] ne ""
312 0 0 5 defined $val and $val ne ""
334 0 0 19 defined $val and $val ne ""
363 0 0 13 defined $val and $val ne ""
446 1 5 1 not $cc and $item->{'group'}
490 0 0 6 defined $v and $v ne ""
500 0 0 1 defined $sa[0] and $sa[0] ne ""
502 2 0 0 defined $sa[$i + 1] and $sa[$i + 1] ne ""
526 0 0 6 defined $val and $val ne ""
545 0 0 11 defined $val and $val ne ""
558 0 0 2 defined $val and $val ne ""
590 0 0 8 defined $val and $val ne ""
621 0 0 7 defined $val and $val ne ""
638 0 0 3 defined $val and $val ne ""
649 0 0 2 $lt ne "home" and $lt ne "work"
0 0 2 $lt ne "home" and $lt ne "work" and $lt ne "pref"
658 1 0 2 defined $user and not $obj->{'user'}
683 0 0 2 defined $val and $val ne ""
707 0 0 4 defined $val and $val ne ""
712 4 0 0 $encoding and lc $encoding eq "b"
714 0 0 0 $mediatype and not $mediatype =~ m[/]
741 0 0 8 defined $val and $val ne ""
800 0 0 3 defined $val and $val ne ""
823 0 0 2 defined $val and $val ne ""
869 0 0 10 defined $val and $val ne ""
887 0 0 5 defined $val and $val ne ""
911 0 0 6 defined $val and $val ne ""
948 0 0 2 defined $val and $val ne ""
981 2 0 0 $card->{'kind'} and $card->{'kind'} ne "individual"
1042 0 0 10 $contexts and ref $contexts eq "HASH"
1061 9 0 4 defined $label and $label ne ""
1107 0 3 9 @n_values and $n_values[-1] eq ""
1110 3 0 0 $name->{'sortAs'} and ref $name->{'sortAs'} eq "HASH"
1115 0 0 0 @sa and $sa[-1] eq ""
1123 3 0 0 not $name->{'full'} and $name->{'components'}
1252 0 0 0 @sa and $sa[-1] eq ""
1442 0 0 1 ref $keywords eq "HASH" and %$keywords
1472 0 0 3 $rel->{'relation'} and ref $rel->{'relation'} eq "HASH"
1517 0 0 5 $vcard and $vcard->{'type'} eq "vcard"
1525 0 0 66 $props->{$name} and @{$props->{$name};}
1577 4 0 1 %groups_to_remove and $props->{'x-ablabel'}
1625 0 0 0 defined $new_card->{$js} and $new_card->{$js} ne ""
1631 0 0 0 defined $new_card->{'kind'} and $new_card->{'kind'} ne ""
1668 0 1 53 defined $old_val and defined $new_val

or 2 conditions

line l !l condition
129 75 368 $props->{'x-ablabel'} // []
131 270 0 $lp->{'value'} // ""
251 11 0 $n_prop->{'values'} || []
307 5 30 $props->{'nickname'} || (return)
328 8 27 $props->{'email'} || (return)
351 8 27 $props->{'tel'} || (return)
390 7 28 $props->{'adr'} || (return)
396 0 7 $props->{'geo'} // []
399 0 7 $props->{'tz'} // []
406 7 0 $item->{'values'} || []
447 1 0 $props->{'x-abadr'} // []
448 1 0 $xabadr->{'group'} // ""
472 8 27 $props->{'org'} || (return)
477 8 0 $item->{'values'} || []
524 6 64 $props->{$propname} // []
543 10 95 $props->{$propname} // []
556 1 34 $props->{'x-abdate'} // []
585 8 27 $props->{'note'} || (return)
619 3 32 $props->{'impp'} // []
636 2 68 $props->{$propname} // []
681 2 313 $props->{$propname} // []
705 4 101 $props->{$propname} // []
715 0 0 $mediatype //= "application/octet-stream"
739 8 272 $props->{$propname} // []
755 0 8 $card->{$key} // {}
795 1 34 $props->{'lang'} || (return)
821 1 104 $props->{$propname} // []
845 3 32 $props->{'categories'} || (return)
867 4 66 $props->{$propname} // []
885 2 33 $props->{'related'} // []
909 4 31 $props->{'x-abrelatednames'} // []
1024 44 7 $prop->{'params'} //= {}
1085 3 0 $card->{'name'} || (return)
1113 0 0 $name->{'sortAs'}{$kind} // ""
1126 0 0 $c->{'kind'} // ""
1135 2 0 $card->{'nicknames'} || (return)
1148 3 0 $card->{'emails'} || (return)
1163 3 0 $card->{'phones'} || (return)
1192 2 0 $card->{'addresses'} || (return)
1216 10 0 $c->{'kind'} // ""
1231 2 0 $card->{'organizations'} || (return)
1238 2 0 $org->{'name'} // ""
1249 0 0 $unit->{'sortAs'} // ""
1262 2 0 $card->{'titles'} || (return)
1266 3 0 $t->{'kind'} // "title"
1274 2 0 $card->{'anniversaries'} || (return)
1280 4 0 $ann->{'kind'} // ""
1281 3 1 $kind_to_prop{$kind} // "anniversary"
1284 4 0 $ann->{'date'} // ""
1294 2 1 $card->{'notes'} || (return)
1314 1 1 $card->{'onlineServices'} || (return)
1325 2 0 ($svc->{'uri'} // $svc->{'user'}) // ""
1332 1 1 $card->{'media'} || (return)
1338 1 0 $m->{'kind'} // "photo"
1 0 $kind_to_prop{$m->{'kind'} // "photo"} // "photo"
1348 2 0 $card->{'links'} || (return)
1352 0 2 $link->{'kind'} // ""
1366 1 5 $card->{$key} || (return)
1392 0 2 $card->{'directories'} || (return)
1396 0 0 $dir->{'kind'} // ""
1408 0 2 $card->{'preferredLanguages'} || (return)
1421 0 2 $card->{'personalInfo'} || (return)
1427 0 0 $pi->{'kind'} // "expertise"
1441 1 1 $card->{'keywords'} || (return)
1448 0 2 $card->{'members'} || (return)
1456 1 0 $card->{'members'} || (return)
1467 1 1 $card->{'relatedTo'} || (return)
1482 0 2 $card->{'speakToAs'} || (return)
1570 6 4 $props->{$vname} // []
1579 2 0 $_->{'group'} // ""
1639 10 0 $prop->{'params'} //= {}

or 3 conditions

line l !l&&r !l&&!r condition
66 0 0 0 eval { do { &decode_utf8($val) } } // $val
111 4 4 120 $i == 8 or $i == 12
8 4 116 $i == 8 or $i == 12 or $i == 16
8 4 112 $i == 8 or $i == 12 or $i == 16 or $i == 20
199 31 4 0 _first_value($props, "uid") // _generate_uid()
204 2 3 30 _first_value($props, "kind") // _first_value($props, "x-addressbookserver-kind")
293 1 0 34 $phonFirst or $phonLast
1 0 34 $phonFirst or $phonLast or $phonMid
437 0 0 1 $geo //= $geo_by_group{$item->{'group'}}
441 0 0 1 $tz //= $tz_by_group{$item->{'group'}}
481 8 0 0 $values->[0] // ()
599 1 0 7 $author_name or $author_uri
645 1 0 2 _param($item, "service-type") // _param($item, "x-service-type")
657 2 0 1 _param($item, "x-user") // _param($item, "username")
713 0 0 0 _param($item, "mediatype") // _param($item, "type")
829 2 0 0 $level_map{lc $level} // lc $level
1325 3 2 0 $svc->{'uri'} // $svc->{'user'}
1430 0 0 0 $level_map{$pi->{'level'}} // $pi->{'level'}
1665 54 0 0 defined $old_val or defined $new_val