Branch Coverage

blib/lib/MarpaX/Database/Terminfo/Interface.pm
Criterion Covered Total %
branch 186 372 50.0


line true false branch
26 0 16 if (ref $optp ne 'HASH')
34 0 16 $^O eq 'dec_osf' ? :
0 16 $^O eq 'hpux' ? :
0 16 $^O eq 'aix' ? :
43 16 0 if ($cache_stubs) { }
58 0 16 if ($file)
60 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
63 0 0 if (not open($fh, '<', $file)) { }
67 0 0 unless close $fh
68 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
72 0 0 if ($@) { }
79 0 16 if (not $db_ok and $txt)
80 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
84 0 0 if ($@) { }
90 16 0 unless $db_ok
91 0 16 unless ($db_ok)
102 0 16 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
106 0 16 if (not open($fh, '<', $caps)) { }
115 11408 8752 if (/^\s*#/)
119 704 8048 if (/^\s*capalias\b/) { }
96 7952 elsif (/^\s*infoalias\b/) { }
127 704 7248 if ($type eq 'bool') { }
624 6624 elsif ($type eq 'num') { }
6624 0 elsif ($type eq 'str') { }
141 0 16 unless close $fh
149 16 0 if ($cache_stubs)
150 1 15 if ($stubs_txt)
152 0 1 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
155 0 1 if (not open($fh, '<', $stubs_txt)) { }
159 0 1 unless close $fh
160 0 1 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
173 0 1 if ($@) { }
181 15 1 if (not $cached_stubs_as_txt_ok and $stubs_bin)
219 0 31 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
222 0 31 if (not open($fh, '<', $bin)) { }
225 0 31 if (not binmode($fh)) { }
229 0 31 if (not @stat) { }
234 0 31 if (read($fh, $blob, $bytes) != $bytes) { }
238 0 31 unless eval { do { $decoder->decode($blob, $_[0]); $rc = 1 } }
245 0 31 unless close $fh
254 0 7817 if ($MarpaX::Database::Terminfo::Interface::log->is_warn and not defined $self->{'_terminfo_db'})
263 2675 2874 if (@_)
266 0 5549 if ($MarpaX::Database::Terminfo::Interface::log->is_warn and not defined $self->{'_terminfo_current'})
275 0 819324 if ($MarpaX::Database::Terminfo::Interface::log->is_warn and not defined $self->{'_t2other'})
284 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn and not defined $self->{'_c2other'})
293 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn and not defined $self->{'_capalias'})
302 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn and not defined $self->{'_infoalias'})
311 16 45 unless (defined $self->{'_terminfo_current'})
320 0 1 if (defined $cb)
333 0 5141 if ($MarpaX::Database::Terminfo::Interface::log->is_debug)
334 0 0 if ($from) { }
342 5141 0 if (defined $terminfo_db)
346 5141 3537341 if (grep {$_ eq $name;} @{$$terminfo{'alias'};})
347 0 5141 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
361 0 2675 unless (defined $self->_terminfo_db)
365 0 2675 unless (defined $found)
377 1051 210743 if ($feature->{'type'} == 0 and substr($feature->{'name'}, -1, 1) eq '@') { }
2466 208277 elsif ($feature->{'type'} == 2 and $feature->{'name'} eq 'use') { }
381 0 1051 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
386 0 2466 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
390 0 2466 unless (defined $insert)
395 910 106851 if (exists $cancelled{$_->{'name'}})
396 0 910 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
401 6713 100138 if (exists $featured{$_->{'name'}})
402 0 6713 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
407 0 100138 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
414 0 208277 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
432 1051 208277 if ($_->{'type'} == 0 and substr($_->{'name'}, -1, 1) eq '@')
433 0 1051 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
447 2 208275 if (substr($_->{'name'}, 0, 1) eq '.')
448 0 2 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
474 208275 0 if (not exists $found->{'terminfo'}{$key}) { }
477 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
484 4592 203683 unless (exists $self->_t2other->{$key})
485 0 4592 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
494 0 203683 if ($feature->{'type'} != $type)
495 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
504 0 203683 if (not defined $termcap) { }
505 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
509 0 203683 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
512 203683 0 if (not exists $found->{'termcap'}{$termcap}) { }
515 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
524 0 203683 if (not defined $variable) { }
525 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
529 0 203683 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
532 203683 0 if (not exists $found->{'variable'}{$variable}) { }
536 180968 22715 if ($type == 2)
537 15 180953 if ($variable eq 'pad_char') { }
2452 178501 elsif ($variable eq 'cursor_up') { }
20 178481 elsif ($variable eq 'backspace_if_not_bs') { }
539 0 15 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
544 0 2452 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
549 0 20 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
555 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
566 15 2660 if (defined $pad_char)
567 0 15 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
575 2452 223 if (defined $cursor_up)
576 0 2452 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
584 20 2655 if (defined $backspace_if_not_bs)
585 0 20 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
595 0 2675 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
603 0 2675 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
613 0 2675 if (exists $found->{'terminfo'}{'ospeed'})
614 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
619 0 2675 if (exists $found->{'terminfo'}{'baudrate'})
620 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
646 185265 0 if ($self->{'_cache_stubs'})
647 176711 8554 if (exists $self->{'_cached_stubs'}{$featurevalue})
648 0 176711 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
654 8554 176711 unless (exists $self->{'_stubs'}{$featurevalue})
656 8554 0 if ($self->{'_cache_stubs_as_txt'})
657 8552 2 if (exists $self->{'_cached_stubs_as_txt'}{$featurevalue})
658 0 8552 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
664 2 8552 unless (defined $stub_as_txt)
674 0 2 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
698 0 2 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
701 2 0 if ($self->{'_cache_stubs_as_txt'})
705 0 8554 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
713 0 8554 if ($@)
717 8554 0 if ($self->{'_cache_stubs'})
732 185259 28366 if ($feature->{'type'} == 2)
782 0 2675 if (defined $fh)
784 0 0 if ($reffh ne 'GLOB')
785 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
792 2 2673 if (defined $ENV{'MARPAX_DATABASE_TERMINFO_OSPEED'}) { }
795 2673 0 if ($HAVE_POSIX)
797 0 2673 if (not defined $termios) { }
798 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
802 0 2673 defined $fh ? :
803 0 2673 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
807 0 2673 if ($@)
808 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
814 2673 0 if (defined $termios)
816 0 2673 if (not defined $this) { }
817 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
822 0 2673 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
832 0 2675 unless (exists $OSPEED_TO_BAUDRATE{$ospeed})
833 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
839 2673 2 unless ($ospeed)
841 0 2673 if ($MarpaX::Database::Terminfo::Interface::log->is_warn)
848 0 2675 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
864 45 0 if ($self->_terminfo_init)
868 15 30 if (not exists $self->_terminfo_current->{$space}{$id}) { }
872 0 15 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
882 0 30 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
885 0 30 if (defined $default_if_cancelled and exists $self->_terminfo_current->{'cancelled'}{$feature->{'name'}}) { }
886 0 0 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
894 27 3 if ($feature->{'type'} == $type) { }
3 0 elsif (defined $default_if_wrong_type) { }
896 20 7 if ($type == 2) { }
897 7 13 defined $default_if_found ? :
899 3 4 defined $default_if_found ? :
902 0 3 if ($MarpaX::Database::Terminfo::Interface::log->is_trace)
911 12 15 if (defined $found and defined $areap and ref $areap)
912 10 2 if ($type == 2) { }
913 3 7 unless (defined ${$areap;})
935 2 0 if (defined $outc)
937 1 1 if ($self->tvgetflag('no_pad_char') or not $self->tvgetstr('PC', \$PC)) { }
1045 3 0 if (not defined $self->{'_term'}) { }
1058 0 0 $str eq $bell || $str eq $flash_screen ? :
1059 0 0 !$xon_xoff && $padding_baud_rate && $baudrate >= $padding_baud_rate ? :
1064 0 3 if ($self->{'_bsd_tputs'} and length $str > 0)
1065 0 0 if ($str =~ /^([[:digit:]]+)(?:\.([[:digit:]])?[[:digit:]]*)?(\*)?/)
1066 0 0 defined $-[2] ? :
0 0 defined $-[3] ? :
1072 0 0 if ($three)
1082 51 2 if ($c ne '$') { }
1086 2 0 $index <= $indexmax ? :
1087 0 2 if ($c ne '<') { }
1089 0 0 if ($c)
1093 2 0 ++$index <= $indexmax ? :
1094 0 2 if (not $c =~ /[[:digit:]]/ and $c ne '.' or index($str, '>', $index) < $index)
1106 2 0 $index <= $indexmax ? :
1109 5 0 ++$index <= $indexmax ? :
1112 2 0 $index <= $indexmax ? :
1113 0 2 if ($c eq '.')
1114 0 0 $index <= $indexmax ? :
1115 0 0 if ($c =~ /[[:digit:]]/)
1124 2 0 $index <= $indexmax ? :
1126 0 0 if ($c eq '*') { }
1133 0 0 $index <= $indexmax ? :
1136 2 0 if ($number > 0 and $always_delay || $normal_delay || $mandatory)
1145 0 0 if ($trailpad > 0 and $always_delay || $normal_delay)
1187 0 0 if (@_)
1192 0 0 unless (defined $self->{'_use_env'})
1198 0 0 unless ($self->{'_use_env'})