File Coverage

blib/lib/DTL/Fast/Filter/Lengthis.pm
Criterion Covered Total %
statement 20 20 100.0
branch 3 4 75.0
condition n/a
subroutine 6 6 100.0
pod 0 2 0.0
total 29 32 90.6


line stmt bran cond sub pod time code
1             package DTL::Fast::Filter::Lengthis;
2 2     2   1269 use strict; use utf8; use warnings FATAL => 'all';
  2     2   5  
  2     2   48  
  2         10  
  2         5  
  2         12  
  2         47  
  2         3  
  2         71  
3 2     2   10 use parent 'DTL::Fast::Filter::Length';
  2         3  
  2         12  
4              
5             $DTL::Fast::FILTER_HANDLERS{'length_is'} = __PACKAGE__;
6              
7              
8             #@Override
9             sub parse_parameters
10             {
11 4     4 0 6 my $self = shift;
12             die $self->get_parse_error("no length value specified")
13 4 50       5 if not scalar @{$self->{'parameter'}};
  4         12  
14 4         8 $self->{'length'} = $self->{'parameter'}->[0];
15 4         13 return $self;
16             }
17              
18             #@Override
19             sub filter
20             {
21 4     4 0 8 my( $self, $filter_manager, $value, $context ) = @_;
22              
23 4         12 my $length = $self->SUPER::filter($filter_manager, $value, $context);
24 4 100       15 return $length == $self->{'length'}->render($context) ?
25             1
26             : 0;
27             }
28              
29             1;