File Coverage

blib/lib/WWW/Shopify/Liquid/Operator/NotEquals.pm
Criterion Covered Total %
statement 15 24 62.5
branch 0 10 0.0
condition 0 22 0.0
subroutine 5 8 62.5
pod 0 3 0.0
total 20 67 29.8


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2 30     30   15651 use strict;
  30         51  
  30         889  
3 30     30   133 use warnings;
  30         48  
  30         1088  
4              
5             package WWW::Shopify::Liquid::Operator::NotEquals;
6 30     30   282 use base 'WWW::Shopify::Liquid::Operator';
  30         44  
  30         2211  
7 30     30   135 use Scalar::Util qw(looks_like_number);
  30         40  
  30         2243  
8 0     0 0   sub symbol { return '!='; }
9 0     0 0   sub priority { return 5; }
10 30     30   151 use Data::Compare;
  30         60  
  30         257  
11             sub operate {
12 0     0 0   my ($self, $hash, $action, $op1, $op2) = @_;
13 0 0 0       return 0 if !defined $op1 && !defined $op2;
14 0 0 0       return 1 if defined $op1 xor defined $op2;
15 0 0 0       return $op1 != $op2 if (ref($op1) && ref($op2) && ref($op1) eq "DateTime" && ref($op2) eq "DateTime");
      0        
      0        
16 0 0 0       return !Compare($op1, $op2) if (ref($op1) && ref($op2));
17 0 0 0       return $op1 != $op2 if looks_like_number($op1) && looks_like_number($op2);
18 0           return ($op1 cmp $op2) != 0;
19             }
20             1;