Branch Coverage

blib/lib/Curses/UI/Listbox.pm
Criterion Covered Total %
branch 25 148 16.8


line true false branch
120 0 1 if ($args{-'multi'}) { }
123 0 0 unless ref $args{-'selected'} eq 'HASH'
127 0 1 defined $args{-'selected'} ? :
133 1 0 if ($Curses::UI::ncurses_mouse)
150 0 1 if (defined $values and not ref $values)
154 1 0 if (defined $values and ref $values eq 'ARRAY')
159 1 0 if defined $values
179 0 0 if (defined $values)
180 0 0 if (ref $values eq 'ARRAY') { }
202 0 0 if (defined $labels and ref $labels eq 'HASH')
214 0 0 if (defined $labels and ref $labels eq 'HASH')
229 0 0 if defined $args{-'labels'}{$value}
231 0 0 if length $label > $maxwidth
240 0 1 unless $this->SUPER::layout
261 0 5 if $Curses::UI::screen_too_small
265 5 0 if $$this{-'ypos'} > $$this{-'max_selected'}
267 5 0 if $$this{-'ypos'} < 0
271 0 5 if ($ycur > $this->canvasheight - 1) { }
0 5 elsif ($ycur < 0) { }
282 5 0 if (@{$$this{-'values'};} <= $this->canvasheight)
296 0 0 if defined $$this{-'labels'}{$label}
324 0 3 unless $this->SUPER::draw(1)
329 0 3 if ($Curses::UI::color_support)
340 3 0 if (not @{$$this{-'values'};}) { }
350 0 0 if $end_idx > $$this{-'max_selected'}
365 0 0 $$this{-'multi'} || $$this{-'radio'} ? :
373 0 0 if ($$this{-'ypos'} == $i and $$this{-'focus'})
381 0 0 if (not $$this{-'multi'} and defined $$this{-'selected'} and $$this{-'selected'} == $i or $$this{-'multi'} and defined $$this{-'selected'} and $$this{-'selected'}{$i})
403 0 0 if $$this{-'focus'}
404 0 0 if ($$this{-'multi'}) { }
0 0 elsif ($$this{-'radio'}) { }
405 0 0 if (defined $$this{-'selected'} and $$this{-'selected'}{$i}) { }
415 0 0 if (defined $$this{-'selected'} and $i == $$this{-'selected'}) { }
422 0 0 if $$this{-'focus'}
427 0 0 if $$this{-'multi'} or $$this{-'radio'}
432 0 3 unless $no_doupdate
449 0 0 if ($$this{-'ypos'} >= $$this{-'max_selected'})
453 0 0 if ($$this{-'ypos'} + $this->canvasheight - 1 >= $$this{-'max_selected'}) { }
466 0 0 if ($$this{-'ypos'} <= 0)
470 0 0 if ($$this{-'ypos'} - $this->canvasheight - 1 < 0) { }
483 0 2 if ($$this{-'multi'}) { }
485 0 0 unless defined $selection
501 1 5 if $id > @{$$this{-'values'};}
502 0 5 if ($$this{-'multi'}) { }
504 0 0 $$this{-'selected'}{$id} ? :
506 0 0 if $changed
512 5 0 if $changed
522 0 0 if ($$this{-'ypos'} >= $$this{-'max_selected'}) { }
523 0 0 if ($$this{-'wraparound'}) { }
540 0 0 if ($$this{-'ypos'} <= 0) { }
541 0 0 if ($$this{-'wraparound'}) { }
559 0 0 if ($$this{-'multi'}) { }
571 0 0 if $changed
572 0 0 if $changed
574 0 0 $$this{-'radio'} ? :
591 0 0 if ($$this{-'multi'}) { }
593 0 0 $$this{-'selected'}{$$this{-'ypos'}} ? :
596 0 0 if $changed
603 0 0 if $changed
605 0 0 $$this{-'radio'} ? :
612 0 0 if ($$this{-'multi'}) { }
614 0 0 $$this{-'selected'}{$$this{-'ypos'}} ? :
616 0 0 if $changed
632 0 0 unless $$this{-'focusable'}
636 0 0 unless ($$this{-'focus'})
641 0 0 if (@{$$this{-'values'};} and $newypos >= 0 and $newypos < @{$$this{-'values'};})
653 2 2 unless defined $$this{-'selected'}
654 0 2 if ($$this{-'multi'}) { }
657 0 0 unless $val
669 0 0 unless defined $$this{-'selected'}
670 0 0 if ($$this{-'multi'}) { }
673 0 0 unless $val
686 0 0 unless defined $value
688 0 0 defined $label ? :