Fix epoch=0 issues with Session/DateTime and D_date macro.
Add an edge case test for D_date macro.
This commit is contained in:
parent
ae08335e9c
commit
a7aa1d2fb2
3 changed files with 18 additions and 9 deletions
|
|
@ -37,12 +37,13 @@ time is used instead.
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
sub process {
|
||||
my $session = shift;
|
||||
my (@param, $temp, $time);
|
||||
@param = @_;
|
||||
$time = $param[1] ||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';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue