Devel-Cover
view release on metacpan or search on metacpan
lib/Devel/Cover/Report/Html_minimal.pm view on Meta::CPAN
sub _branch_report {
my $coverage = shift;
my $sfmt
= qq'<table width="100%%"><tr><td class="%s">T</td><td class="%s">F</td></tr></table>';
return map { {
percentage => sprintf("%.0f", $_->percentage),
title => sprintf("%s/%s", $_->[0][0] ? 'T' : '-', $_->[0][1] ? 'F' : '-'),
class => pclass($_->percentage, $_->error),
string => sprintf($sfmt, bclass($_->[0][0]), bclass($_->[0][1])),
} }
@{ $coverage->{branch} }
}
#-------------------------------------------------------------------------------
sub _condition_report {
my $coverage = shift;
# use Devel::Cover::Dumper; print STDERR Dumper $coverage;
my @tables = truth_table(@{ $coverage->{condition} });
return unless @tables;
return map { {
percentage => sprintf("%.0f", $_->[0]->percentage),
class => pclass($_->[0]->percentage, $_->[0]->error),
string => $_->[0]->html(bclass(0, 1)),
} } @tables;
}
#-------------------------------------------------------------------------------
sub _time_report {
my $coverage = shift;
return map { { string => $_->covered } } @{ $coverage->{time} };
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Subroutine : print_stylesheet()
# Purpose : Create the stylesheet for HTML reports.
# Notes :
#-------------------------------------------------------------------------------
sub print_stylesheet {
my ($db, $options) = @_;
my $file = "$options->{outputdir}/cover.css";
open(my $css, '>', $file) or return;
my $p = tell(DATA);
print $css <DATA>;
seek(DATA, $p, 0);
close($css);
}
#-------------------------------------------------------------------------------
# Subroutine : print_html_header
# Purpose :
# Notes :
#-------------------------------------------------------------------------------
sub print_html_header {
my $fh = shift;
my $title = shift;
print $fh <<"END_HTML";
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<!--
This file was generated by Devel::Cover Version $VERSION
Devel::Cover is copyright 2001-2026, Paul Johnson (paul\@pjcj.net)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
https://pjcj.net
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<meta http-equiv="Content-Language" content="en-us"></meta>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<title>$title</title>
</head>
END_HTML
}
#-------------------------------------------------------------------------------
# Subroutine : print_summary
# Purpose :
# Notes :
#-------------------------------------------------------------------------------
sub print_summary {
my $fh = shift;
my $title = shift;
my $file = shift;
my $percent = sprintf("%.1f", shift @_ || 0);
my $error = shift;
my $db = shift;
my $class = pclass($percent, $error);
my $meta = $db->{meta}{$file};
print $fh <<"END_HTML";
<body>
<h1>$title</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">$file</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="$class">$percent\%</td></tr>
</table>
<div><br/></div>
<table>
END_HTML
}
#-------------------------------------------------------------------------------
# Subroutine : print_th
# Purpose :
# Notes :
#-------------------------------------------------------------------------------
sub print_th {
my ($fh, $th, $span) = @_;
print $fh '<tr>';
foreach my $h (@$th) {
print $fh $span->{$h}
( run in 3.448 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )