Branch Coverage

blib/lib/Tree/Trie.pm
Criterion Covered Total %
branch 161 188 85.6


line true false branch
35 15 1 unless (defined $options and ref $options eq 'HASH')
39 1 15 if (exists $$options{'end_marker'})
42 1 15 if (exists $$options{'freeze_end_marker'})
53 5 1 if ($_[0] and length $_[0] > 1)
61 11 30 if ($key eq $$self{'_END'}) { }
80 2 0 if (scalar @_)
81 1 1 if (shift()) { }
103 12 16 if (defined $option)
104 2 10 if ($option eq 0 or $option eq 'boolean') { }
4 6 elsif ($option eq 1 or $option eq 'choose') { }
3 3 elsif ($option eq 2 or $option eq 'count') { }
2 1 elsif ($option eq 3 or $option eq 'prefix') { }
1 0 elsif ($option eq 4 or $option eq 'exact') { }
138 50 3 if ($self->_add_internal($word, undef))
140 0 50 if (wantarray) { }
149 0 13 wantarray ? :
162 12 1 if ($self->_add_internal($word, shift()))
163 0 12 if (wantarray) { }
171 0 7 if wantarray
197 9 30 unless ($ignore_end)
198 1 8 if ($letter eq $$self{'_END'})
204 7 32 if ($letter eq $$trie{'_END'}) { }
208 24 8 unless (exists $$np{'to'}{$letter})
231 0 3 if (ref $word eq 'ARRAY') { }
240 7 1 if ($$ref{$letter}) { }
251 1 2 unless exists $$ref{$$self{'_END'}}
254 0 2 if (wantarray) { }
261 0 1 if (wantarray) { }
332 1 4 if (ref $word eq 'ARRAY') { }
350 1 4 if (scalar keys %{$ref;} == 1 and exists $$ref{$letters[0]})
358 5 20 if $letter eq $$self{'_END'}
359 0 20 unless exists $$ref{$letter}
360 18 2 if (scalar keys %{$$ref{$letter};} == 1 and exists $$ref{$letter}{$letters[0]}) { }
364 4 14 unless (scalar @ldn)
376 0 5 if scalar @letters
377 0 5 unless exists $$ref{$$self{'_END'}}
380 1 4 if (scalar @ldn == 0)
386 1 4 if (scalar @ldn == 1) { }
394 0 5 if (wantarray) { }
401 0 3 if (wantarray)
435 61 230 if ($key eq $$self{'_END'})
436 36 25 if (wantarray) { }
438 3 33 if ($args{'data'})
447 12 218 $wantref ? :
450 11 219 if ($suffix_length > 0 and $suffix_length - $walked_suffix_length == 1) { }
451 1 10 if (wantarray) { }
467 142 77 if (wantarray) { }
475 151 87 if (wantarray) { }
500 5 43 if (ref $word eq 'ARRAY') { }
510 5 43 $wantref ? :
512 5 43 $wantref ? :
517 72 58 if ($$self{'_DEEPSEARCH'} == 3 and not $args{'want_arr'})
518 10 62 if (exists $$ref{$$self{'_END'}})
521 5 5 if ($args{'data'}) { }
0 5 elsif ($wantref) { }
530 0 10 $wantref ? :
532 36 36 unless ($args{'data'})
533 0 36 if ($wantref) { }
544 9 121 unless (exists $$ref{$letter})
546 0 9 if ($args{'want_arr'}) { }
2 7 elsif ($$self{'_DEEPSEARCH'} == 2) { }
4 3 elsif ($$self{'_DEEPSEARCH'} == 3) { }
555 2 2 if ($args{'data'} and $lastwordref)
558 2 0 if ($wantref and scalar @{$lastword;} or length $lastword)
574 9 30 if ($args{'want_arr'}) { }
577 1 8 $args{'suff_len'} ? :
587 3 27 if ($$self{'_DEEPSEARCH'} == 0) { }
4 23 elsif ($$self{'_DEEPSEARCH'} == 4) { }
9 14 elsif ($$self{'_DEEPSEARCH'} == 1) { }
10 4 elsif ($$self{'_DEEPSEARCH'} == 2) { }
4 0 elsif ($$self{'_DEEPSEARCH'} == 3) { }
601 2 2 if (exists $$ref{$$self{'_END'}})
602 1 1 if ($args{'data'})
615 0 9 $wantref ? :
620 0 12 if ($wantref) { }
628 10 2 if ($args{'suff_len'})
629 0 10 $wantref ? :
630 0 10 if $cmpr == $args{'suff_len'}
633 4 5 if ($args{'data'})
638 3 2 if ($args{'suff_len'}) { }
643 0 2 $wantref ? :
650 4 6 $args{'suff_len'} ? :
659 2 2 if (exists $$ref{$$self{'_END'}})
660 1 1 if ($args{'data'})
663 0 1 if ($wantref) { }
670 1 1 if ($args{'data'})
689 8 58 if (ref $word eq 'ARRAY') { }
697 8 0 unless ($$self{'_FREEZE_END'})
699 3 26 if ($letter eq $$self{'_END'})
731 4 62 if (exists $$ref{$$self{'_END'}}) { }
738 13 53 if (defined $datum)
764 8 3 if ($len != 1)
775 1 6 if (length $key != 1 and $key ne $$self{'_END'})
795 3 3 if ($sizes{$len} < 26 ** $len / 4) { }