File Coverage

blib/lib/WWW/Shopify/Liquid/Operator/Plus.pm
Criterion Covered Total %
statement 12 22 54.5
branch 0 10 0.0
condition 0 9 0.0
subroutine 4 7 57.1
pod 0 3 0.0
total 16 51 31.3


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2 30     30   15661 use strict;
  30         53  
  30         863  
3 30     30   130 use warnings;
  30         49  
  30         1120  
4              
5             package WWW::Shopify::Liquid::Operator::Plus;
6 30     30   130 use base 'WWW::Shopify::Liquid::Operator';
  30         42  
  30         2301  
7 30     30   153 use Scalar::Util qw(looks_like_number);
  30         54  
  30         6674  
8 0     0 0   sub symbol { return '+'; }
9 0     0 0   sub priority { return 9; }
10             sub operate {
11 0 0 0 0 0   if (ref($_[3]) && ref($_[3]) eq 'ARRAY') {
12 0 0 0       return [@{$_[3]}, @{$_[4]}] if ref($_[4]) && ref($_[4]) eq 'ARRAY';
  0            
  0            
13 0           return [@{$_[3]}, $_[4]];
  0            
14             }
15 0 0 0       return (defined $_[3] ? $_[3] : "") . (defined $_[4] ? $_[4] : "") if !looks_like_number($_[3]) || !looks_like_number($_[4]);
    0          
    0          
16 0           return $_[0]->ensure_numerical($_[3]) + $_[0]->ensure_numerical($_[4]);
17             }
18              
19             1;