Fix SQLA::Test problem
[dbsrgits/SQL-Abstract.git] / lib / SQL / Abstract / Test.pm
index 8951e36..52489a8 100644 (file)
@@ -6,7 +6,6 @@ use base qw/Test::Builder::Module Exporter/;
 use Data::Dumper;
 use Carp;
 use Test::Builder;
-use Test::Deep qw(eq_deeply);
 
 our @EXPORT_OK = qw/&is_same_sql_bind &is_same_sql &is_same_bind
                     &eq_sql_bind &eq_sql &eq_bind 
@@ -177,7 +176,10 @@ sub eq_sql_bind {
 sub eq_bind {
   my ($bind_ref1, $bind_ref2) = @_;
 
-  return eq_deeply($bind_ref1, $bind_ref2);
+  local $Data::Dumper::Useqq = 1;
+  local $Data::Dumper::Sortkeys = 1;
+
+  return Dumper($bind_ref1) eq Dumper($bind_ref2);
 }
 
 sub eq_sql {
@@ -282,6 +284,7 @@ sub _recurse_parse {
       my $right = _recurse_parse($tokens, PARSE_IN_PARENS);
       $token = shift @$tokens   or croak "missing closing ')' around block " . unparse ($right);
       $token eq ')'             or croak "unexpected token '$token' terminating block " . unparse ($right);
+
       $left = $left ? [@$left, [PAREN => [$right] ]]
                     : [PAREN  => [$right] ];
     }
@@ -316,21 +319,21 @@ sub _recurse_parse {
     elsif (grep { $token =~ /^ $_ $/xi } @expression_terminator_sql_keywords ) {
       my $op = uc $token;
       my $right = _recurse_parse($tokens, PARSE_IN_EXPR);
-      $left = $left ? [@$left,  [$op => [$right] ]]
-                    : [[ $op => [$right] ]];
+      $left = $left ? [ $left,  [$op => [$right] ]]
+                    : [ $op => [$right] ];
     }
     # NOT (last as to allow all other NOT X pieces first)
     elsif ( $token =~ /^ not $/ix ) {
       my $op = uc $token;
       my $right = _recurse_parse ($tokens, PARSE_RHS);
       $left = $left ? [ @$left, [$op => [$right] ]]
-                    : [[ $op => [$right] ]];
+                    : [ $op => [$right] ];
 
     }
     # literal (eat everything on the right until RHS termination)
     else {
       my $right = _recurse_parse ($tokens, PARSE_RHS);
-      $left = $left ? [$left, [LITERAL => [join ' ', $token, unparse($right)||()] ] ]
+      $left = $left ? [ $left, [LITERAL => [join ' ', $token, unparse($right)||()] ] ]
                     : [ LITERAL => [join ' ', $token, unparse($right)||()] ];
     }
   }