[Jifty-commit] r3784 - in Test-WWW-Declare: lib/Test/WWW

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Fri Aug 3 19:42:10 EDT 2007


Author: sartak
Date: Fri Aug  3 19:42:10 2007
New Revision: 3784

Modified:
   Test-WWW-Declare/   (props changed)
   Test-WWW-Declare/lib/Test/WWW/Declare.pm

Log:
 r29890 at caladan:  sartak | 2007-08-03 18:51:12 -0400
 No need to rebuild args hash every call, other minor changes


Modified: Test-WWW-Declare/lib/Test/WWW/Declare.pm
==============================================================================
--- Test-WWW-Declare/lib/Test/WWW/Declare.pm	(original)
+++ Test-WWW-Declare/lib/Test/WWW/Declare.pm	Fri Aug  3 19:42:10 2007
@@ -30,24 +30,40 @@
 }
 
 # DSLey functions
+sub _args {
+    my $args = shift;
+    return $args if ref($args) eq 'HASH';
+    return {expected => $args};
+}
+
 sub should ($) {
-    return {positive => 1, %{shift @_}};
+    my $args = _args(shift);
+    $args->{negative} = 0;
+    return $args;
 }
 
 sub shouldnt ($) {
-    return {positive => 0, %{shift @_}};
+    my $args = _args(shift);
+    $args->{negative} = 1;
+    return $args;
 }
 
 sub match ($) {
-    return {match => 'regex', expected => shift};
+    my $args = _args(shift);
+    $args->{match} = 'regex';
+    return $args;
 }
 
 sub equal ($) {
-    return {match => 'equality', expected => shift};
+    my $args = _args(shift);
+    $args->{match} = 'equality';
+    return $args;
 }
 
 sub caselessly ($) {
-    return {case_insensitive => 1, %{shift @_}};
+    my $args = _args(shift);
+    $args->{case_insensitive} = 1;
+    return $args;
 }
 
 sub check (&) {
@@ -158,7 +174,7 @@
         Carp::croak "No \$args{match} (yes this error needs to be fixed)";
     }
 
-    return 1 if ($match ? 0 : 1) ^ $args{positive};
+    return 1 if ($match ? 1 : 0) ^ $args{negative};
     Carp::croak join(' ', @output);
 }
 


More information about the Jifty-commit mailing list