File Coverage

blib/lib/DTL/Fast/Tag/Sprintf.pm
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition 1 2 50.0
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::Tag::Sprintf;
2 2     2   1043 use strict; use utf8; use warnings FATAL => 'all';
  2     2   5  
  2     2   58  
  2         8  
  2         3  
  2         106  
  2         60  
  2         4  
  2         78  
3 2     2   9 use parent 'DTL::Fast::Tag::Simple';
  2         4  
  2         11  
4              
5             $DTL::Fast::TAG_HANDLERS{'sprintf'} = __PACKAGE__;
6              
7             #@Override
8             sub parse_parameters
9             {
10 3     3 0 2 my $self = shift;
11 3         11 $self->{'parameters'} = $self->parse_sources($self->{'parameter'});
12 3         3 return $self;
13             }
14              
15             #@Override
16             sub render
17             {
18 3     3 0 6 my( $self, $context, $global_safe) = @_;
19 3         2 my $result = '';
20            
21 3         4 my @parameters = ();
22            
23 3         3 foreach my $parameter (@{$self->{'parameters'}})
  3         4  
24             {
25 9   50     17 push @parameters, $parameter->render($context) // '';
26             }
27            
28 3         37 return sprintf shift @parameters, @parameters;
29             }
30              
31             1;