File Coverage

blib/lib/WWW/Shopify/Liquid/Operator/NotEquals.pm
Criterion Covered Total %
statement 24 24 100.0
branch 3 10 30.0
condition 6 22 27.2
subroutine 8 8 100.0
pod 0 3 0.0
total 41 67 61.1


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2 37     37   16021 use strict;
  37         104  
  37         1164  
3 37     37   242 use warnings;
  37         98  
  37         1465  
4              
5             package WWW::Shopify::Liquid::Operator::NotEquals;
6 37     37   245 use base 'WWW::Shopify::Liquid::Operator';
  37         102  
  37         4003  
7 37     37   285 use Scalar::Util qw(looks_like_number);
  37         102  
  37         3156  
8 1318     1318 0 4192 sub symbol { return '!='; }
9 510     510 0 1124 sub priority { return 5; }
10 37     37   292 use Data::Compare;
  37         101  
  37         366  
11             sub operate {
12 2     2 0 6 my ($self, $hash, $action, $op1, $op2) = @_;
13 2 0 33     6 return 0 if !defined $op1 && !defined $op2;
14 2 50 25     10 return 1 if defined $op1 xor defined $op2;
15 2 0 33     7 return $op1 != $op2 if (ref($op1) && ref($op2) && ref($op1) eq "DateTime" && ref($op2) eq "DateTime");
      33        
      0        
16 2 50 33     284 return !Compare($op1, $op2) if (ref($op1) && ref($op2));
17 2 50 33     9 return $op1 != $op2 if looks_like_number($op1) && looks_like_number($op2);
18 2         9 return ($op1 cmp $op2) != 0;
19             }
20             1;