Skip to content
Permalink
Browse files

Fix epoch=0 issues with Session/DateTime and D_date macro.

Add an edge case test for D_date macro.
  • Loading branch information...
perlDreamer committed Dec 2, 2009
1 parent ad67b8a commit a672849693c8156f83e1ac1af2aa39996b0f579e
Showing with 18 additions and 9 deletions.
  1. +7 −6 lib/WebGUI/Macro/D_date.pm
  2. +5 −2 lib/WebGUI/Session/DateTime.pm
  3. +6 −1 t/Macro/D_date.t
@@ -37,12 +37,13 @@ time is used instead.

#-------------------------------------------------------------------
sub process {
my $session = shift;
my (@param, $temp, $time);
@param = @_;
$time = $param[1] ||$session->datetime->time();
$temp =$session->datetime->epochToHuman($time,$param[0]);
return $temp;
my $session = shift;
my $time = $_[1];
if (! defined $time) {
$time = time();
}
my $temp = $session->datetime->epochToHuman($time, $_[0]);
return $temp;
}


@@ -298,8 +298,11 @@ A string representing the output format for the date. Defaults to '%z %Z'. You c
=cut

sub epochToHuman {
my $self = shift;
my $epoch = shift || time();
my $self = shift;
my $epoch = shift;
if (!defined $epoch || $epoch eq '') {
$epoch = time();
}
my $i18n = WebGUI::International->new($self->session);
my $language = $i18n->getLanguage($self->session->user->profileField('language'));
my $locale = $language->{languageAbbreviation} || 'en';
@@ -34,7 +34,7 @@ my @testSets = (
},
);

my $numTests = scalar @testSets + 1;
my $numTests = scalar @testSets + 2;

plan tests => $numTests;

@@ -59,3 +59,8 @@ while ($time1 != $time2) {
}

is($output, $session->datetime->epochToHuman($time1), 'checking default time and format');

##Checking for edge case, time=0
is WebGUI::Macro::D_date::process($session, '', 0),
'12/31/1969 6:00 pm',
'...checking for handling time=0';

0 comments on commit a672849

Please sign in to comment.
You can’t perform that action at this time.