Devel-Cover
view release on metacpan or search on metacpan
lib/Devel/Cover/Report/Html_subtle.pm view on Meta::CPAN
#-------------------------------------------------------------------------------
# Subroutine : report()
# Purpose : Entry point for printing HTML reports.
# Notes :
#-------------------------------------------------------------------------------
sub report {
my ($pkg, $db, $options) = @_;
$Template = Template->new({
LOAD_TEMPLATES =>
[ Devel::Cover::Report::Html_subtle::Template::Provider->new({}) ]
});
%Filenames
= map { $_ => do { (my $f = $_) =~ s/\W/-/g; $f } } @{ $options->{file} };
%File_exists = map { $_ => -e } @{ $options->{file} };
print_stylesheet($db);
for my $file (@{ $options->{file} }) {
print_file($db, $file, $options);
print_branches($db, $file, $options) if $options->{show}{branch};
print_conditions($db, $file, $options) if $options->{show}{condition};
print_subroutines($db, $file, $options) if $options->{show}{subroutine};
}
print_summary($db, $options);
}
1;
package Devel::Cover::Report::Html_subtle::Template::Provider;
use strict;
use warnings;
our $VERSION = '1.52'; # VERSION
use base "Template::Provider";
my %Templates;
sub fetch {
my $self = shift;
my ($name) = @_;
# print "Looking for <$name>\n";
$self->SUPER::fetch(exists $Templates{$name} ? \$Templates{$name} : $name);
}
#<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
$Templates{html} = <<'EOT';
<?xml version="1.0" encoding="utf-8"?>
<!--
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
-->
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"https://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
<meta http-equiv="Content-Language" content="en-us"></meta>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<title> [% title %] </title>
</head>
<body>
[% content %]
</body>
</html>
EOT
$Templates{summary} = <<'EOT';
[% WRAPPER html %]
<h1>Coverage Summary</h1>
<table>
<tr>
<td class="header" align="right">Database:</td>
<td>[% dbname %]</td>
</tr>
</table>
<div><br></br></div>
<table>
<tr>
<th align="left" class="header"> File </th>
[% FOREACH header = headers %]
<th class="header"> [% header %] </th>
[% END %]
</tr>
[% FOREACH file = files %]
<tr align="center" valign="top">
<td align="left">
[% IF file_exists.$file %]
<a href="[%- filenames.$file -%].html"> [% file %] </a>
[% ELSE %]
[% file %]
[% END %]
</td>
[% FOREACH criterion = showing %]
[% IF vals.$file.$criterion.class %]
<td class="[%- vals.$file.$criterion.class -%]"
title="[%- vals.$file.$criterion.details -%]">
[% ELSE %]
<td>
[% END %]
[% IF vals.$file.$criterion.link.defined%]
<a href="[% vals.$file.$criterion.link %]">
[% vals.$file.$criterion.pc %]
</a>
[% ELSE %]
[% vals.$file.$criterion.pc %]
[% END %]
</td>
[% END %]
( run in 0.616 second using v1.01-cache-2.11-cpan-39bf76dae61 )