File Coverage

blib/lib/WWW/Shopify/Liquid/Operator/Plus.pm
Criterion Covered Total %
statement 17 22 77.2
branch 5 10 50.0
condition 4 9 44.4
subroutine 7 7 100.0
pod 0 3 0.0
total 33 51 64.7


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2 37     37   14844 use strict;
  37         106  
  37         1111  
3 37     37   266 use warnings;
  37         93  
  37         1370  
4              
5             package WWW::Shopify::Liquid::Operator::Plus;
6 37     37   237 use base 'WWW::Shopify::Liquid::Operator';
  37         89  
  37         3898  
7 37     37   350 use Scalar::Util qw(looks_like_number);
  37         103  
  37         9911  
8 1321     1321 0 4123 sub symbol { return '+'; }
9 255     255 0 640 sub priority { return 9; }
10             sub operate {
11 22 50 33 22 0 85 if (ref($_[3]) && ref($_[3]) eq 'ARRAY') {
12 0 0 0     0 return [@{$_[3]}, @{$_[4]}] if ref($_[4]) && ref($_[4]) eq 'ARRAY';
  0         0  
  0         0  
13 0         0 return [@{$_[3]}, $_[4]];
  0         0  
14             }
15 22 50 100     177 return (defined $_[3] ? $_[3] : "") . (defined $_[4] ? $_[4] : "") if !looks_like_number($_[3]) || !looks_like_number($_[4]);
    50          
    100          
16 16         65 return $_[0]->ensure_numerical($_[3]) + $_[0]->ensure_numerical($_[4]);
17             }
18              
19             1;