Branch Coverage

lib/Graph/Easy/Node.pm
Criterion Covered Total %
branch 465 568 81.8


line true false branch
36 0 1642 unless ($k =~ /^(label|name)\z/)
41 1639 3 if $k eq 'name'
42 3 1639 if $k eq 'label'
77 0 86 if $swapem
79 0 86 unless $one
80 0 86 unless $two
84 86 0 if $one ne 'none' or $two ne 'none'
94 0 123 unless $one
95 0 123 unless $two
98 118 5 if $one eq $two
101 1 4 if $two eq 'none'
102 1 3 if $one eq 'none'
107 3 10 if $one eq $b or $two eq $b
111 0 0 if exists $merged_borders->{$both}
125 209 1062 if defined $cache->{'border_style'}
127 83 979 unless defined $shape
128 82 980 unless defined $shape
131 1018 44 unless defined $cache->{'border_style'}
132 10 1052 if $shape =~ /^(none|invisible)\z/
146 0 1062 if defined $cache->{'left_border'}
153 0 1062 unless $collapse
161 4 1058 if $border_width > 2
162 4 1058 if $border_width > $EM * 0.2 and $border_width < $EM * 0.75
163 0 1062 if $border_width >= $EM * 0.75
186 2 1060 unless ref $parent
189 0 1060 unless ref $cells
209 209 438 if (ref $other and not $other->isa('Graph::Easy::Edge') and not $other->isa_cell and not $other->isa('Graph::Easy::Node::Empty'))
214 39 170 if ref $other->{'node'}
218 209 0 if ($other->attribute('shape') ne 'invisible')
222 123 86 if ($swap) { }
245 15 1063 if defined $self->{'w'}
249 8 1055 if ($shape eq 'point') { }
3 1052 elsif ($shape eq 'invisible') { }
255 1 7 if ($style eq 'invisible' or $shape eq 'invisible')
279 1052 10 unless ($shape =~ /^(invisible|point)/)
281 1042 10 if $self->{'cache'}{'right_border'} ne 'none'
282 974 78 if $self->{'cache'}{'left_border'} ne 'none'
283 1023 29 if $self->{'cache'}{'top_border'} ne 'none'
284 1041 11 if $self->{'cache'}{'bottom_border'} ne 'none'
286 11 1041 if $border eq 'none' and not $shape =~ /^(invisible|point)/
303 0 0 unless defined $self->{'cx'}
305 0 0 if ($self->{'cx'} + $self->{'cy'} > 2)
352 3 224 unless $self->_check_place($x, $y, $parent)
354 0 224 if $self->{'debug'}
360 121 32 $child->{'dx'} > 0 ? :
361 44 109 $child->{'dy'} > 0 ? :
364 1 152 if $rc == 0
383 666 471 unless defined $parent->{'_rank_pos'}{$r}
392 30 1107 if ($self->{'cx'} + $self->{'cy'} > 2)
399 30 94 if $ax == 1 and $ay == 1
425 3 224 if exists $$cells{"$x,$y"}
427 1 223 unless defined $self->{'cx'}
429 10 214 if ($self->{'cx'} + $self->{'cy'} > 2)
438 0 38 if exists $$cells{"$sx,$sy"}
459 96 988 if exists $$cells{"$x,$y"}
461 2 986 unless defined $self->{'cx'}
463 27 961 if ($self->{'cx'} + $self->{'cy'} > 2)
472 0 114 if exists $$cells{"$sx,$sy"}
478 987 1 if $self->{'children'}
481 74 914 if (defined $self->{'origin'} or $children > 0)
490 18 56 if $self->{'origin'}
508 3 5 if $self->{'cache'}{'label'}
517 0 5 if ($wrap eq 'auto')
521 0 5 if $wrap < 2
532 16 141 if $c eq ' '
533 1 156 if $c eq '-'
535 14 21 if ($line_len >= $wrap and $last_space != 0 || $last_hyphen != 0)
540 1 13 if ($last_hyphen > $last_space)
563 4 1 if $label ne ''
582 4 4225 unless $align
583 4105 124 unless defined $wrap
587 8 4221 unless $wrap eq 'none'
605 2485 33 if $a eq 'n'
684 0 0 unless my $t = $pod->{$type}
700 0 124 if ($text_wrap eq 'auto') { }
716 27 97 if ($align ne 'center')
722 1 123 if $switch_to_center
737 0 93 if ($format eq 'pod') { }
752 5 88 if $a ne $al
769 6 191 if ($cmt ne '')
786 75 2 unless $self->isa_cell
788 0 77 if ($shape eq 'edge')
816 6 71 if ($shape eq 'invisible' and $class ne 'node.anon')
828 9 62 if $title ne '' and $shape ne 'img'
832 0 71 if ($shape eq 'point') { }
0 71 elsif ($shape eq 'img') { }
846 0 0 if $t eq ''
855 67 4 unless $name eq ''
862 1 70 if $switch_to_center
865 69 2 unless ($self->isa('Graph::Easy::Edge'))
874 61 8 unless ($shape =~ /(rounded|ellipse|circle)/)
878 56 5 if $out->{'border'} =~ /^\s*\z/ or $out->{'border'} eq $DEF
881 0 3 if $class eq 'node.anon' and $out->{'border'} and $out->{'border'} eq 'none'
888 8 63 if ($shape =~ /(rounded|ellipse|circle)/)
893 8 0 if $fill
894 8 0 if $out->{'border'}
908 7 1 if $c eq 'e'
912 1 7 if ($shape eq 'circle')
916 0 1 if $h > $w
920 0 8 if $out->{'top'} eq '1.5em'
930 0 71 if ($class =~ /^group/)
939 0 0 if $border_style eq 'none'
942 0 0 if $self->{'has_label'}
943 0 0 unless $self->{'has_label'}
949 0 0 if $b eq 'fill'
950 0 0 unless $v eq '' or $v eq $def
952 0 0 unless $name ne ''
956 0 71 if ($shape =~ /^(point|none)\z/)
965 16 19 if ($link ne '')
968 5 11 if $atr =~ /^(background|border)\z/
974 67 4 unless $name =~ /^(| )\z/
979 28 43 if $style
983 14 57 if ($link ne '')
993 5 23 if exists $out->{$s}
996 3 11 if $outer_style
1005 71 0 if $c ne ''
1021 4 15 if $angle =~ /^(south|down)\z/
1022 0 19 if $angle =~ /^(north|up)\z/
1023 0 19 if $angle eq 'west'
1024 0 19 if $angle eq 'east'
1027 12 7 if ($angle =~ /^([+-]\d+|left|right|back|front|forward)\z/)
1030 2 10 if $angle =~ /^(front|forward)\z/
1031 2 10 if $angle eq 'back'
1032 2 10 if $angle eq 'left'
1033 0 12 if $angle eq 'right'
1038 0 19 unless $angle =~ /^\d+\z/
1040 1 18 if $angle > 359
1066 0 1289 if ref $self eq 'Graph::Easy'
1070 649 640 unless defined $flow
1074 267 373 unless defined $f
1088 3663 1053 if exists $cache->{'flow'}
1091 11 1042 if exists $self->{'_flow'}
1098 1029 13 if not defined $flow or $flow eq 'inherit'
1101 380 662 if defined $flow and $flow =~ /^(0|90|180|270)\z/
1102 12 650 if defined $flow and $flow =~ /^(south|north|east|west|up|down)\z/
1111 384 390 unless $e->{'from'} != $self and $e->{'to'} == $self
1116 390 0 if defined $in
1119 260 390 unless (defined $in)
1125 15 329 if $e->{'bidirectional'}
1126 11 333 if ($pre != $self)
1130 11 0 if defined $in
1135 249 401 unless defined $in
1137 649 1 unless defined $flow
1157 1 1157 if defined $r and not defined $c
1158 1 1157 if defined $c and not defined $r
1160 1138 20 unless defined $r
1161 1138 20 unless defined $c
1210 905 869 if $e->{'from'} == $self
1216 1805 1743 if ($$e{$idx[$end][1]} == $self)
1220 89 1716 if (defined $side) { }
1222 41 48 if (not defined $nr or $nr eq '') { }
1231 0 48 if abs $nr > 9999
1234 17 31 if vec($vec->{$side}, $nr, 1) == 0
1237 0 48 if $nr < 0
1243 17 31 if $nr > $max->{$side}
1260 31 1743 if $e->{'to'} == $e->{'from'}
1265 1043 91 if ($unspecified < 4 and $unspecified == keys %{$$self{'edges'};})
1279 31 333 if ($free->{$side} < 2 * $cnt->{$side})
1294 23 68 if $need->{'south'} > $min_x
1295 5 86 if $need->{'east'} > $min_y
1300 2 89 if $min_x > $self->{'cx'}
1301 1 90 if $min_y > $self->{'cy'}
1307 6 85 if $flow == 270
1308 17 74 if $flow == 180
1309 4 87 if $flow == 0
1315 89 2 if (keys %$grow_sides > 1)
1318 68 21 if $flow == 90 or $flow == 270
1322 34 57 if ref $self->{'origin'} or keys %{$$self{'children'};} > 0
1331 1 195 if $outgoing == 0 and $front_side eq $side
1337 9 187 if $outgoing == 0 and $front_side eq $side
1340 91 7 if $free_ports >= $unspecified
1344 0 7 if $grow >= @grow_what
1355 3 1694 unless defined $self->{'cx'}
1376 4 23 if (exists $self->{'edge'}) { }
1383 0 4 if ($txt =~ /\\N/)
1395 2 25 if ($txt =~ /\\L/ and $do_label)
1402 21 6 if ($txt =~ /\\G/)
1406 9 12 unless ref $self->{'graph'}
1408 12 9 if ref $self->{'graph'}
1422 99 11 if ($title eq '')
1425 99 0 if (defined $autotitle)
1429 15 84 if ($autotitle eq 'name')
1433 9 6 unless defined $title
1436 2 97 if ($autotitle eq 'label')
1441 2 0 if defined $label
1444 2 97 if $autotitle eq 'link'
1446 1 98 unless defined $title
1449 6 104 if not $_[0] and $title =~ /\\[EGHNTL]/
1468 5117 702 unless defined $label
1472 5089 730 unless defined $label
1473 4726 1093 unless defined $label
1475 1870 3949 unless defined $label
1477 3634 315 if ($label ne '')
1480 8 3626 if ($len ne '')
1485 0 8 if $len > 99999
1486 6 2 if (length $label > $len)
1489 6 0 if (($g->{'_ascii_style'} || 0) == 0) { }
1492 0 6 if $len < 0
1497 0 0 if $len < 0
1504 12 3937 if not $_[0] and $label =~ /\\[EGHNT]/
1570 0 2 unless defined $self->{'cx'}
1579 0 2 unless defined $self->{'cy'}
1588 16 11 unless defined $self->{'cx'}
1598 4 53 if exists $self->{'att'}{'shape'}
1599 53 4 unless defined $shape
1615 1162 39 if length $line > $w
1629 1 1235 unless ref $self->{'graph'}
1634 1293 1218 if $edge->{'from'} == $self and $edge->{'to'} == $other
1645 0 81 unless $attr =~ /^(start|end)\z/
1647 0 81 unless defined $side
1648 0 81 unless defined $port
1654 17 275 if $e->{'to'} eq $self and $attr eq 'start'
1656 12 263 if $e->{'from'} eq $self and $attr eq 'end'
1659 0 263 unless defined $s_p
1662 249 0 if $s_p eq $side and @ss_p == 1 and $ss_p[0] eq $port
1678 0 0 if defined $s_p
1680 0 0 if defined $e_p
1698 0 45 if $to == $self
1720 0 58 if $from == $self
1735 1 6 unless ref $self->{'graph'}
1737 6 0 unless (wantarray)
1742 8 2 if $edge->{'to'} == $self
1750 0 0 if $edge->{'to'} == $self
1761 1 6 unless ref $self->{'graph'}
1763 6 0 unless (wantarray)
1768 6 4 if $edge->{'from'} == $self
1776 0 0 if $edge->{'from'} == $self
1786 3 15 unless defined $self->{'graph'}
1793 8 23 if $edge->{'to'} == $self
1794 24 7 if $edge->{'from'} == $self
1805 1 4 unless ref $self->{'graph'}
1809 3 1 wantarray ? :
1822 0 57 unless scalar $b->successors <=> scalar $a->successors
1831 4 3633 unless defined $self->{'graph'}
1836 2610 2546 unless $edge->{'from'} == $self
1847 3 2681 unless defined $self->{'graph'}
1852 1585 1998 unless $edge->{'to'} == $self
1863 0 1175 unless defined $self->{'graph'}
1867 690 569 if $edge->{'to'} == $self
1877 0 8 unless defined $self->{'graph'}
1882 3 7 if $edge->{'to'} == $self and $edge->{'from'} == $other
1892 0 7 unless defined $self->{'graph'}
1897 2 6 if $edge->{'from'} == $self and $edge->{'to'} == $other
1911 0 198 unless (ref $parent and $parent->isa('Graph::Easy::Node'))
1918 0 198 if ($grandpa == $self)
1926 2 196 if defined $self->{'origin'}
1929 125 73 if defined $dx
1930 125 73 if defined $dy
1931 5 193 unless defined $self->{'dx'}
1932 5 193 unless defined $self->{'dy'}
1948 18 2830 if (wantarray)
1977 5 72 if exists $att_aliases->{$name}
1983 1 76 if ($name eq 'size')
1988 0 77 if ($name eq 'border')
2003 0 965 unless defined $name
2004 0 965 unless defined $v
2007 23 942 if exists $att_aliases->{$name}
2010 964 1 unless defined $class
2017 939 26 if $g
2019 939 26 if $g
2020 186 779 if ($strict)
2024 1 185 if defined $rc
2029 15 949 if ($name eq 'class') { }
2 947 elsif ($name eq 'group') { }
31 916 elsif ($name eq 'border') { }
2049 24 892 if ($name =~ /^(columns|rows|size)\z/)
2051 16 8 if ($name eq 'size') { }
2064 151 741 if ($name =~ /^(origin|offset)\z/)
2067 8 143 if exists $self->{'autosplit'} and not defined $self->{'autosplit'}
2069 73 70 if ($name eq 'origin') { }
2085 0 70 if ($x == 0 and $y == 0)
2109 14 755 if ref $val eq 'ARRAY' and defined $index
2111 7 762 if not defined $val or $val eq ''
2113 24 738 $n eq 'class' ? :
2157 2 113 if ref $self->{'group'}
2160 4 111 if not ref $group and $graph
2177 270 2399 if ref $self->{'group'}
2195 67 4149 unless ref $parent->{'cache'}
2199 452 3764 if not defined $cache->{'min_x'} or $x < $cache->{'min_x'}
2200 409 3807 if not defined $cache->{'min_y'} or $y < $cache->{'min_y'}
2204 616 3600 if not defined $cache->{'max_x'} or $x > $cache->{'max_x'}
2205 654 3562 if not defined $cache->{'max_y'} or $y > $cache->{'max_y'}
2207 0 4216 if (($parent->{'debug'} || 0) > 1)
2209 0 0 unless defined $n