Convert (in)equality with undef to (not) defined/IS NOT NULL ops
[dbsrgits/Data-Query.git] / t / expr.t
index f53f61f..15e87ce 100644 (file)
--- a/t/expr.t
+++ b/t/expr.t
@@ -103,3 +103,27 @@ expr_is { !$_->foo }
     args => [ expr { $_->foo } ],
   },
   '! ok';
+
+expr_is { $_->foo != undef }
+  {
+    type => DQ_OPERATOR,
+    operator => { Perl => 'defined' },
+    args => [ expr { $_->foo } ],
+  },
+  '!= undef => defined';
+
+expr_is { $_->foo ne undef }
+  {
+    type => DQ_OPERATOR,
+    operator => { Perl => 'defined' },
+    args => [ expr { $_->foo } ],
+  },
+  'ne undef => defined';
+
+expr_is { $_->foo == undef }
+  expr { !($_->foo != undef) },
+  '== undef => not defined';
+
+expr_is { $_->foo eq undef }
+  expr { !($_->foo ne undef) },
+  'eq undef => not defined';