Image-Synchronize

 view release on metacpan or  search on metacpan

t/Image-Synchronize-Timerange.t  view on Meta::CPAN

use Modern::Perl;

use Image::Synchronize::Timerange;
use Image::Synchronize::Timestamp;
use Test::More;
use Time::Local qw(timegm);

ok( not(defined Image::Synchronize::Timerange->new('20170614T00/11:56')),
    'bad format' );
is(
  Image::Synchronize::Timerange->new('2017-06-14T00/11:56')->stringify,
  '2017-06-14T00:00:00/11:56:00',
  'ok format'
);

foreach my $test (
  {
    in    => '2001-02-03T04:05:06+07:08/2009-10-11T12:13:14-15:16',
    begin => '2001-02-03T04:05:06+07:08',
    end   => '2009-10-11T12:13:14-15:16',
  },
  {
    in    => '2001-02-03T04:05:06+07:08/12:13:14-15:16',
    begin => '2001-02-03T04:05:06+07:08',
    end   => '2001-02-03T12:13:14-15:16'
  },
  {
    in    => '2001-02-03T04:05:06+07:08/12:13:14',
    begin => '2001-02-03T04:05:06+07:08',
    end   => '2001-02-03T12:13:14+07:08'
  },
  {
    in    => '2001-02-03T04:05:06+07:08/2009-10-11T12:13:14',
    begin => '2001-02-03T04:05:06+07:08',
    end   => '2009-10-11T12:13:14+07:08'
  },
  {
    in    => '2001-02-03T04:05:06+07:08',
    begin => '2001-02-03T04:05:06+07:08',
    end   => '2001-02-03T04:05:06+07:08'
  },

  # with pieces missing
  {
    in    => '2001-02-03T04:05:06/07:08:09',
    begin => '2001-02-03T04:05:06',
    end   => '2001-02-03T07:08:09'
  },
  {
    in    => '2001-02-03T04:05/07:08',
    begin => '2001-02-03T04:05:00',
    end   => '2001-02-03T07:08:00'
  },
  {
    in    => '2001-02-03T04/07',
    begin => '2001-02-03T04:00:00',
    end   => '2001-02-03T07:00:00'
  },
  )
{
  my $text = "from text $test->{in}";



( run in 0.767 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )