Control variable of loop should be absolute value
to avoid looping when backtracking
if ( ref $add_duration ne 'DateTime::Duration' ) {
$add_duration = DateTime::Duration->new( days => $add_duration );
}
+ $unit ||= q{}; # default days ?
my $days_mode = $self->{days_mode};
Readonly::Scalar my $return_by_hour => 10;
my $day_dur = DateTime::Duration->new( days => 1 );
}
} else {
- my $days = $add_duration->in_units('days');
+ my $days = abs $add_duration->in_units('days');
while ($days) {
$base_date->add_duration($day_dur);
if ( $self->is_holiday($base_date) ) {
use DateTime::TimeZone;
use C4::Context;
-use Test::More tests => 8; # last test to print
+use Test::More tests => 9;
BEGIN { use_ok('Koha::Calendar'); }
my $dt = $cal->addDate( $saturday, 1, 'days' );
is( $dt->day_of_week, 1, 'addDate skips closed Sunday' );
+
+$dt = $cal->addDate( $bloomsday, -1 );
+cmp_ok( $dt->ymd(), 'cmp', '2011-06-15', 'Negative call to addDate' );