[Jifty-commit] r4802 - in Jifty-DBI/trunk: lib/Jifty/DBI/Filter t

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Jan 8 12:08:17 EST 2008


Author: trs
Date: Tue Jan  8 12:08:17 2008
New Revision: 4802

Modified:
   Jifty-DBI/trunk/   (props changed)
   Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm
   Jifty-DBI/trunk/t/06filter_duration.t

Log:
 r30654 at zot:  tom | 2008-01-08 12:07:19 -0500
 Handle hh:mm(:ss)? within other duration strings so that "1d 2:30" works


Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm	(original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm	Tue Jan  8 12:08:17 2008
@@ -26,10 +26,9 @@
     my $value_ref = $self->value_ref;
     return unless defined $$value_ref;
 
-    # Convert hh:mm::ss to something Time::Duration::Parse understands
-    if ( $$value_ref =~ /^\s*(\d+):(\d\d)(?::(\d\d))?\s*$/ ) {
-        $$value_ref = defined $3 ? "$1h $2m $3s" : "$1h $2m";
-    }
+    # Convert hh:mm(::ss)? to something Time::Duration::Parse understands
+    $$value_ref =~ s/\b(\d+):(\d\d):(\d\d)\b/$1h $2m $3s/g;
+    $$value_ref =~ s/\b(\d+):(\d\d)\b/$1h $2m/g;
 
     $$value_ref = Time::Duration::Parse::parse_duration($$value_ref);
 

Modified: Jifty-DBI/trunk/t/06filter_duration.t
==============================================================================
--- Jifty-DBI/trunk/t/06filter_duration.t	(original)
+++ Jifty-DBI/trunk/t/06filter_duration.t	Tue Jan  8 12:08:17 2008
@@ -6,7 +6,7 @@
 BEGIN { require "t/utils.pl" }
 our (@available_drivers);
 
-use constant TESTS_PER_DRIVER => 23;
+use constant TESTS_PER_DRIVER => 37;
 
 eval "use Time::Duration ()";
 if ($@) {
@@ -21,7 +21,7 @@
 my $total = scalar(@available_drivers) * TESTS_PER_DRIVER;
 plan tests => $total;
 
-my @duration_input   = qw(3h5m 3:05 3:04:60);
+my @duration_input   = ('3h5m', '3:05', '3:04:60', '3h 0:05', '1h 2:04:60');
 my $duration_output  = '3h5m';
 my $duration_seconds = 11100;
 


More information about the Jifty-commit mailing list