File Coverage

blib/lib/DTL/Fast/Filter/Truncatecharshtml.pm
Criterion Covered Total %
statement 22 22 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 0 1 0.0
total 29 30 96.6


line stmt bran cond sub pod time code
1             package DTL::Fast::Filter::Truncatecharshtml;
2 2     2   1190 use strict; use utf8; use warnings FATAL => 'all';
  2     2   3  
  2     2   61  
  2         10  
  2         3  
  2         14  
  2         48  
  2         4  
  2         71  
3 2     2   10 use parent 'DTL::Fast::Filter::Truncatechars';
  2         2  
  2         12  
4              
5             $DTL::Fast::FILTER_HANDLERS{'truncatechars_html'} = __PACKAGE__;
6              
7             #@Override
8             sub filter
9             {
10 6     6 0 8 my $self = shift; # self
11 6         7 my $filter_manager = shift; # filter_manager
12 6         8 my $value = shift;
13 6         8 my $context = shift;
14            
15 6         32 my @splitted = split /(<[^>]+?>)/s, $value;
16              
17 6         11 foreach my $value (@splitted)
18             {
19 16 100       64 if( $value !~ /^(<[^>]+?>|\s*)$/gs )
20             {
21 6         22 $value = $self->SUPER::filter($filter_manager, $value, $context);
22 6         11 last;
23             }
24             }
25            
26 6         28 return join '', @splitted;
27             }
28              
29             1;