Branch Coverage

blib/lib/Curses/UI/Widget.pm
Criterion Covered Total %
branch 77 286 26.9


line true false branch
112 0 19 if defined $args{-'width'} and $args{-'width'} == -1
114 0 19 if defined $args{-'height'} and $args{-'height'} == -1
117 0 19 unless defined $args{-'parent'} and ref $args{-'parent'}
124 0 19 if $args{-'sbborder'} and $args{-'border'}
131 19 0 if ($Curses::UI::ncurses_mouse)
132 19 0 unless $$this{-'mousebindings'}{BUTTON1_CLICKED()}
148 0 0 if (defined $_[0])
159 1 2 if (defined $focusable)
165 0 1 if ($$this{-'focus'} and not $focusable)
179 4 14 if $Curses::UI::screen_too_small
190 0 28 unless (defined $$this{"-$_"})
191 28 0 if ($$this{"-$_"} >= 0) { }
194 0 0 $_ eq 'x' ? :
204 0 14 if $cor_h < 0
206 0 14 if $cor_w < 0
212 0 14 $$this{-'border'} ? :
0 14 $$this{-'sbborder'} ? :
14 0 defined $$this{-'vscrollbar'} ? :
217 3 11 defined $$this{-'width'} ? :
218 0 14 if $width < $min_w
219 0 14 if $width > $avail_w
222 0 14 $$this{-'border'} ? :
0 14 $$this{-'hscrollbar'} ? :
14 0 defined $$this{-'hscrollbar'} ? :
227 5 9 defined $$this{-'height'} ? :
228 0 14 if $height < $min_h
229 0 14 if $height > $avail_h
232 0 14 if ($width > $avail_w or $height > $avail_h or $width == 0 or $height == 0)
242 0 14 if ($$this{-'x'} < 0)
243 0 14 if ($$this{-'y'} < 0)
256 0 14 if ($$this{-'border'} or $$this{-'sbborder'} or $$this{-'vscrollbar'} or $$this{-'hscrollbar'})
267 0 0 unless (defined $$this{-'borderscr'})
278 0 14 $$this{-'border'} ? :
284 0 14 $$this{-'border'} ? :
0 14 $$this{-'sbborder'} ? :
291 0 14 $$this{-'border'} ? :
297 0 14 $$this{-'border'} ? :
0 14 $$this{-'sbborder'} ? :
305 0 14 if ($$this{-'sw'} <= 0 or $$this{-'sh'} <= 0)
317 0 14 unless (defined $$this{-'canvasscr'})
323 14 0 unless (defined $$this{-'borderscr'})
341 0 32 if (defined $$this{$type})
343 0 0 unless defined $$this{$type . $side}
350 92 36 unless defined $$this{$type . $side}
359 0 0 if ref $width
362 0 0 if $args{-'border'}
363 0 0 if $args{-'sbborder'}
364 0 0 if not $args{-'border'} || $args{-'sbborder'} and $args{-'vscrollbar'}
370 0 0 if ($args{$t}) { }
373 0 0 if defined $args{$t . 'left'}
374 0 0 if defined $args{$t . 'right'}
383 0 1 if ref $height
386 0 1 if $args{-'border'}
387 0 1 if not $args{-'border'} and $args{-'hscrollbar'}
390 0 2 if ($args{$t}) { }
394 0 2 if defined $args{$t . 'top'}
395 0 2 if defined $args{$t . 'bottom'}
413 0 0 if (defined $title)
427 16 0 unless defined $scr
466 0 0 if ($$this{-'has_modal_focus'}) { }
476 0 0 if ($this->root->focus_path(-1) ne $this)
480 0 0 if (defined $key and $key eq KEY_BTAB()) { }
496 2 1 if defined $parent
498 3 0 if $this->root->overlapping
530 0 17 if $Curses::UI::screen_too_small
531 0 17 if $this->hidden
536 0 17 defined $$this{-'borderscr'} ? :
539 0 17 if ($Curses::UI::color_support)
542 0 0 if defined $scr and $pair
544 0 17 unless defined $scr
549 0 17 if (defined $$this{-'borderscr'})
552 0 0 if ($Curses::UI::color_support)
562 0 0 if ($$this{-'sbborder'}) { }
0 0 elsif ($$this{-'border'}) { }
564 0 0 if $$this{-'focus'}
566 0 0 if $$this{-'vscrollbar'}
573 0 0 if $$this{-'focus'}
577 0 0 if $$this{-'focus'}
578 0 0 if ($this->root->compat) { }
586 0 0 if $$this{-'focus'}
589 0 0 if (defined $$this{-'title'})
591 0 0 if ($Curses::UI::color_support)
600 0 0 if $$this{-'titlereverse'}
602 0 0 if ($$this{-'titlefullwidth'} and $$this{-'titlereverse'})
610 0 0 if ($l < length $t)
612 0 0 if $l < length $t
626 0 17 unless $no_doupdate
634 0 0 unless defined $$this{-'borderscr'}
636 0 0 if ($$this{-'vscrollbar'} and defined $$this{-'vscrolllen'})
640 0 0 $$this{-'vscrollbar'} eq 'left' ? :
647 0 0 $$this{-'vscrolllen'} ? :
650 0 0 if not $actlen and $$this{-'vscrolllen'}
651 0 0 $$this{-'vscrolllen'} && $$this{-'vscrollpos'} ? :
658 0 0 if ($$this{-'vscrollpos'} + $scrlen >= $$this{-'vscrolllen'}) { }
661 0 0 if ($actpos + $actlen >= $scrlen)
668 0 0 if ($$this{-'vscrollpos'} == 0) { }
671 0 0 if ($$this{-'vscrollpos'} and $actpos <= 0)
678 0 0 if $$this{-'focus'}
681 0 0 if ($this->root->compat) { }
686 0 0 if $$this{-'focus'}
688 0 0 if ($Curses::UI::color_support)
701 0 0 if ($scroll_active)
710 0 0 if ($Curses::UI::color_support)
721 0 0 if ($$this{-'hscrollbar'} and defined $$this{-'hscrolllen'})
724 0 0 $$this{-'hscrollbar'} eq 'top' ? :
731 0 0 $$this{-'hscrolllen'} ? :
734 0 0 if not $actlen and $$this{-'hscrolllen'}
735 0 0 $$this{-'hscrolllen'} && $$this{-'hscrollpos'} ? :
742 0 0 if ($$this{-'hscrollpos'} + $scrlen >= $$this{-'hscrolllen'}) { }
745 0 0 if ($actpos + $actlen >= $scrlen)
752 0 0 if ($$this{-'hscrollpos'} == 0) { }
755 0 0 if ($$this{-'hscrollpos'} and $actpos <= 0)
762 0 0 if $$this{-'focus'}
764 0 0 if ($this->root->compat) { }
769 0 0 if $$this{-'focus'}
773 0 0 if ($Curses::UI::color_support)
784 0 0 if ($scroll_active)
802 0 0 unless $$this{-'nobeep'}
816 2 0 if ($$this{-'intellidraw'} and not $this->hidden and $this->in_topwindow)
831 2 6 if (defined $$this{$win})
857 0 3 unless defined $win
860 0 3 if $$win{-'has_modal_focus'}
886 0 0 if $v eq $binding
912 0 1 if (ref $routine eq 'CODE')
919 0 1 unless defined $$this{-'routines'}{$routine}
938 21 3 if (ref $routine eq 'CODE')
945 0 24 unless defined $$this{-'routines'}{$routine}
969 0 0 if ($is_mouse_event) { }
972 0 0 unless (defined $binding)
978 0 0 unless (defined $binding)
984 0 0 if (defined $binding) { }
987 0 0 if $this->schedule_draw
1003 0 0 if (defined $routine) { }
1005 0 0 if (ref $routine eq 'CODE') { }
1027 0 0 unless ($this->focusable)
1036 0 0 $$this{-'nocursor'} ? :
1039 0 0 unless $this->root->overlapping
1049 0 0 unless $this->root->overlapping
1079 0 0 if not $$this{-'focus'} and $this->focusable
1100 1 0 if (defined $callback) { }
1102 1 0 if (ref $callback eq 'CODE') { }
1122 5 1 if (defined $callback)
1123 5 0 if (ref $callback eq 'CODE') { }