Skip to content

Commit

Permalink
Allow a bare MySQL date (no time) to be used in WebGUI::DateTime's co…
Browse files Browse the repository at this point in the history
…nstructor.
  • Loading branch information
perlDreamer committed Oct 6, 2009
1 parent 4721ba2 commit 044478f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
16 changes: 10 additions & 6 deletions lib/WebGUI/DateTime.pm
Expand Up @@ -599,14 +599,18 @@ sub _splitMysql
(\d+) # Month
\D*
(\d+) # Day
\D*
(\d+) # Hours
\D*
(\d+) # Minutes
\D*
(\d+) # Seconds
(?: \D*
(\d+) # Hours
\D*
(\d+) # Minutes
\D*
(\d+) # Seconds
)?
}x;

foreach my $unit (qw/hour minute second/) {
$hash{$unit} = 0 if ($hash{$unit} eq '');
}
return %hash;
}

Expand Down
10 changes: 9 additions & 1 deletion t/DateTime.t
Expand Up @@ -26,7 +26,7 @@ my $session = WebGUI::Test->session;

# put your tests here

plan tests => 23;
plan tests => 25;

my $timeZoneUser = addUser($session);

Expand Down Expand Up @@ -76,6 +76,14 @@ my $dt1970 = WebGUI::DateTime->new($session, 0);
isa_ok($dt1970, 'WebGUI::DateTime', 'constructed with 0');
is($dt1970->epoch, 0, '... uses 0 for epoch');

my $bday = WebGUI::DateTime->new($session, '2001-08-16');
isa_ok($bday, 'WebGUI::DateTime', 'constructed with mysql date, no time');
is(
$bday->epoch,
WebGUI::DateTime->new($session, WebGUI::Test->webguiBirthday)->truncate( to => 'day')->epoch,
'... has correct epoch'
);

sub addUser {
my $session = shift;
my $user = WebGUI::User->new($session, "new");
Expand Down

0 comments on commit 044478f

Please sign in to comment.