File Coverage

blib/lib/Rubric/Entry/Formatter/HTMLEscape.pm
Criterion Covered Total %
statement 15 15 100.0
branch 2 4 50.0
condition n/a
subroutine 5 5 100.0
pod 0 2 0.0
total 22 26 84.6


line stmt bran cond sub pod time code
1 1     1   6 use strict;
  1         2  
  1         40  
2 1     1   6 use warnings;
  1         2  
  1         60  
3             package Rubric::Entry::Formatter::HTMLEscape;
4             # ABSTRACT: format into HTML by escaping entities
5             $Rubric::Entry::Formatter::HTMLEscape::VERSION = '0.155';
6             # =head1 DESCRIPTION
7             #
8             # This formatter only handles formatting to HTML, and outputs the original
9             # content with HTML-unsafe characters escaped and paragraphs broken.
10             #
11             # This is equivalent to filtering with Template::Filters' C and
12             # C filters.
13             #
14             # =cut
15              
16 1     1   5 use Template::Filters;
  1         2  
  1         226  
17              
18             # =head1 METHODS
19             #
20             # =cut
21              
22             my ($filter, $html, $para);
23             {
24             my $filters = Template::Filters->new;
25             $html = $filters->fetch('html');
26             $para = $filters->fetch('html_para');
27              
28             $filter = sub {
29             $para->( $html->($_[0]) );
30             }
31             }
32              
33             sub as_html {
34 1     1 0 2 my ($class, $arg) = @_;
35 1 50       6 return '' unless $arg->{text};
36 1         3 return $filter->($arg->{text});
37             }
38              
39             sub as_text {
40 1     1 0 2 my ($class, $arg) = @_;
41 1 50       4 return '' unless $arg->{text};
42 1         6 return $html->($arg->{text});
43             }
44              
45             1;
46              
47             __END__