Branch Coverage

blib/lib/PDF/Table.pm
Criterion Covered Total %
branch 183 320 57.1


line true false branch
115 0 7 if (defined $page and ref $page ne "PDF::API2::Page" and ref $page ne "PDF::Builder::Page")
118 0 0 if (ref $self->{'pdf'} eq 'PDF::API2' or ref $self->{'pdf'} eq 'PDF::Builder') { }
161 0 13 unless ($pdf and $page and $data)
167 1 12 unless ref $pdf eq "PDF::API2" or ref $pdf eq "PDF::Builder"
170 1 11 unless ref $page eq "PDF::API2::Page" or ref $page eq "PDF::Builder::Page"
173 1 10 unless ref $data eq "ARRAY" and scalar @$data
175 0 10 unless scalar keys %arg
181 0 10 if defined $arg{'compatibility'}
187 0 10 if defined $arg{'ink'}
263 0 90 if $key =~ s/^-//
266 0 90 unless exists $valid_settings_key{$key}
279 0 10 unless ($xbase > 0)
283 0 10 unless ($ybase > 0)
287 0 10 unless ($width > 0)
291 0 10 unless ($height > 0)
302 0 10 if (ref $data ne "ARRAY")
315 0 10 unless ($ink)
333 1 9 if (defined $arg{'header_props'} and ref $arg{'header_props'} eq "HASH")
341 1 0 if $header_props->{'repeat'}
346 1 9 if $do_headers
372 0 10 if ($leading < $fnt_size)
378 3 7 defined $arg{'border_w'} ? :
439 27 23 unless defined $col_min_width->[$col_idx]
440 27 23 unless defined $col_max_content->[$col_idx]
445 50 0 if (ref $data->[$row_idx][$col_idx] eq '') { }
0 0 elsif (ref $data->[$row_idx][$col_idx] eq 'ARRAY') { }
452 0 0 if (not defined $data->[$row_idx][$col_idx][0]) { }
458 0 0 if ($cell_markup ne 'none' and $cell_markup ne 'md1' and $cell_markup ne 'html' and $cell_markup ne 'pre') { }
0 0 elsif (defined $data->[$row_idx][$col_idx][1] and ref $data->[$row_idx][$col_idx][1] ne '' and ref $data->[$row_idx][$col_idx][1] ne 'ARRAY') { }
0 0 elsif (defined $data->[$row_idx][$col_idx][2] and ref $data->[$row_idx][$col_idx][2] ne 'HASH') { }
480 0 0 if $@
485 0 50 if ($bad_markup ne "")
492 3 47 if (not $row_idx and $do_headers) { }
564 22 28 if ($cell_font_size == 0)
565 0 22 if ($is_header_row) { }
593 0 50 if (defined $cell_max_w and defined $cell_min_w)
625 50 0 if ($cell_leading <= 0) { }
630 0 0 if ($cell_leading < $cell_font_size)
650 48 2 if ($cell_max_word_len > 0 and $data->[$row_idx][$col_idx] and ref $data->[$row_idx][$col_idx] eq "")
663 48 2 if $data->[$row_idx][$col_idx]
679 58 2 unless (exists $word_widths->{$_})
688 12 48 if ($max_col_w) { }
707 0 50 if defined $cell_min_w
715 27 23 unless (defined $max_w->[$col_idx])
716 0 50 if defined $cell_max_w
725 1 18 if not $row_idx and $do_headers
734 0 10 if (defined $size) { }
760 10 1 if ($pg_cnt == 1) { }
766 0 10 if ($bot_margin < 0)
774 0 1 if (ref $arg{'new_page_func'}) { }
782 0 1 unless (defined $next_y)
787 0 1 unless (defined $next_h)
797 0 1 if ($bot_margin < 0)
804 0 1 if ($do_headers == 2)
836 1 0 if $do_headers && $pg_cnt == 1 || $do_headers == 2 && $pg_cnt > 1 and defined $rows_height->[1]
839 0 11 if ($min_height >= $table_top_y - $bot_margin)
842 0 0 if ($delta > $bot_margin) { }
848 0 0 if ($pg_cnt == 1) { }
857 11 0 if $ink
864 11 0 if $ink
865 11 0 if $ink
869 8 3 if ($ink and $h_border_w)
870 8 0 if ($next_top_border == 0) { }
0 0 elsif ($next_top_border == 1) { }
922 1 49 if $colspanned{$row_idx . "_" . $col_idx}
931 3 46 if ($first_row and $do_headers) { }
996 21 28 if ($cell_font_size == 0)
997 0 21 if ($is_header_row) { }
1005 49 0 if ($cell_leading <= 0)
1029 0 49 if (defined $cell_max_w and defined $cell_min_w)
1041 3 46 if ($is_header_row) { }
1077 49 0 if ($oddeven_default) { }
1078 31 18 unless (defined $bg_color)
1079 7 24 $row_is_odd ? :
1081 37 12 unless (defined $fg_color)
1082 9 28 $row_is_odd ? :
1086 0 0 unless (defined $bg_color)
1087 0 0 $row_idx % 2 ? :
1089 0 0 unless (defined $fg_color)
1090 0 0 $row_idx % 2 ? :
1138 49 0 if $ink
1146 1 48 if ($c_cell_props and $c_cell_props->{'colspan'} and $c_cell_props->{'colspan'} > 1)
1149 1 0 if $$calc_column_widths[$col_idx + $offset]
1158 0 49 if ($cell_underline)
1166 0 49 if ref $content eq "" and $content eq ""
1169 0 49 if (ref $content eq 'ARRAY') { }
46 3 elsif (not $content =~ /(.\n.)/ and $data_row_widths->[$col_idx] and $data_row_widths->[$col_idx] <= $actual_column_widths[$row_idx][$col_idx]) { }
1188 0 0 if ($rc) { }
1206 0 0 if ($rc)
1219 46 0 if ($ink)
1220 5 41 if ($cell_justify eq 'right') { }
6 35 elsif ($cell_justify eq 'center') { }
1269 0 3 if ($left_over_text)
1276 9 40 if (ref $arg{'cell_render_hook'} eq "CODE")
1298 0 19 if ($do_leftovers)
1306 19 0 if ($oddeven_default)
1307 18 1 unless ($first_row and $do_headers)
1331 50 0 if ($ink)
1332 18 32 if (defined $bg_color and not $colspanned{$row_idx . "_" . $col_idx})
1341 23 13 if ($gfx and $cell_v_rule_w and $col_idx and not $colspanned{$row_idx . "_" . $col_idx})
1346 9 14 $row_idx ? :
1353 15 21 if ($gfx and $cell_h_rule_w and scalar @{$data;} and $cur_y - $actual_row_height - $current_min_rh > $bot_margin)
1367 0 19 unless ($ink)
1368 0 0 if ($first_row and $do_headers) { }
1378 0 19 if ($do_leftovers) { }
1392 10 1 unless (scalar @{$data;})
1393 11 0 if ($ink)
1394 8 3 if ($gfx and $h_border_w)
1395 8 0 if ($next_top_border == 0) { }
0 0 elsif ($next_top_border == 1) { }
1414 11 0 if ($gfx)
1415 8 3 if ($v_border_w)
1433 10 0 if ($ink) { }
1462 0 198 if (not defined $default and ($name ne "underline" and $name ne "bg_color" and $name ne "fg_color" and $name ne "bg_color_even" and $name ne "bg_color_odd" and $name ne "fg_color_even" and $name ne "fg_color_odd" and $name ne "min_w" and $name ne "max_w"))
1473 1764 0 unless defined $cell_val
1475 688 1076 if not defined $cell_val and $fallback ne ""
1477 1760 4 unless defined $cell_val
1479 675 1089 if not defined $cell_val and $fallback ne ""
1481 1696 68 unless defined $cell_val
1483 675 1089 if not defined $cell_val and $fallback ne ""
1485 1696 68 unless defined $cell_val
1487 675 1089 if not defined $cell_val and $fallback ne ""
1491 1663 101 unless (defined $cell_val)
1545 0 24 if ($newkey =~ s/^-//)
1559 0 3 unless ($xbase > 0)
1563 0 3 unless ($ybase > 0)
1567 0 3 unless ($width > 0)
1571 0 3 unless ($height > 0)
1579 0 3 unless (defined $text and length $text > 0)
1595 3 0 defined $arg{'leading'} && $arg{'leading'} > 0 ? :
1598 0 3 if $font_size > $line_space
1605 0 13 if exists $word_width{$_}
1625 3 4 unless (@paragraph)
1627 3 0 unless scalar @paragraphs
1633 0 0 if $arg{'parspace'} and $paragraph_number > 1
1635 0 0 unless $ypos >= $bottom_border
1645 0 4 if ($first_line and exists $arg{'hang'}) { }
0 4 elsif ($first_line and exists $arg{'flindent'} and $arg{'flindent'} > 0) { }
0 4 elsif ($paragraph_number == 1 and exists $arg{'fpindent'} and $arg{'fpindent'} > 0) { }
0 8 elsif (exists $arg{'indent'} and $arg{'indent'} > 0) { }
1651 0 0 if $ink
1652 0 0 if $ink
1656 0 0 if $paragraph_number == 1
1682 4 10 if (not @line) { }
1687 4 0 if ($text_object->advancewidth($paragraph[0]) + $line_width <= $width + 0.01) { }
1690 2 2 if @paragraph
1698 9 1 if ($text_object->advancewidth(join(" ", @line) . " " . $paragraph[0]) + $line_width <= $width)
1701 8 1 if @paragraph
1710 0 4 if ($align eq 'fulljustify' or $align eq 'justify' and @paragraph) { }
1712 0 0 if scalar @line == 1
1713 0 0 if (scalar @line > 1) { }
1721 0 4 if $align eq "justify"
1727 0 4 if ($align eq 'justify') { }
1729 0 0 if $ink
1730 0 0 if $ink
1731 0 0 if @line
1742 4 0 if ($ink)
1744 0 4 if ($align eq 'right') { }
0 4 elsif ($align eq 'center') { }
1760 0 3 if scalar @paragraph