Fixed in DateTime::Set 0.27

0.27   2009-04-02
- fixed DateTime::Spanset duration() method.
  Reported by Anton Berezin <to...@tobez.org>

Flávio S. Glock

2009/4/2 Flavio S. Glock <fgl...@gmail.com>:
> 2009/4/2 Anton Berezin <to...@tobez.org>:
>> Hi,
>>
>> It's a bit tricky to say which particular module needs to be changed to fix
>> this bug, hence I am not using RT for reporting it.  The good part is that
>> all candidate modules appear to have the same author.  :-)
>>
>> The test case is as follows:
>>
>>    #! /usr/bin/perl
>>    use strict;
>>    use warnings;
>>
>>    use DateTime;
>>    use DateTime::Duration;
>>    use DateTime::Span;
>>    use Data::Dumper;
>>
>>    my $bad_s = DateTime->new(year => 2009, month => 1, day => 12, hour => 1, 
>> minute => 0, second => 0);
>>    my $bad_e = DateTime->new(year => 2009, month => 1, day => 12, hour => 6, 
>> minute => 0, second => 0);
>>
>>    my $bad = DateTime::Span->from_datetimes(start => $bad_s, end => $bad_e);
>>    my $good = $bad->complement;
>>
>>    my $interest_s = DateTime->new(year => 2009, month => 1, day => 12, hour 
>> => 4, minute => 30, second => 0);
>>    my $interest_e = DateTime->new(year => 2009, month => 1, day => 12, hour 
>> => 5, minute => 0, second => 0);
>>
>>    my $interest = DateTime::Span->from_datetimes(start => $interest_s, end 
>> => $interest_e);
>>
>>    my $r = $interest->intersection($good);
>>
>>    my $d = $r->duration;
>>    print Dumper $d;
>>
>>    my $d0 = DateTime::Duration->new(seconds => 0);
>>    print Dumper $d0;
>>
>> I would certainly expect for the duration $d of the empty set $r to be the
>> same duration as $d0, that is, zero seconds.  Instead it behaves more like
>> infinity.
>
> This seems to be caused by a previous DateTime::Span fix that went wrong:
>
>    eval {
>        local $SIG{__DIE__};   # don't want to trap this (rt ticket 5434)
>        $dur = $_[0]->end->subtract_datetime_absolute( $_[0]->start )
>    };
>
> (start and end are not defined in this case)
>
>>
>> Is that something that you might be interesting in fixing?
>
> yes! thanks for reporting.
>
> Flávio S. Glock
>
>> Thanks,
>> \Anton.
>> --
>> There is no beauty in entropy. -- Eliezer Yudkowsky
>>
>

Reply via email to