XML-RSS-Timing
view release on metacpan or search on metacpan
t/025_misc.t view on Meta::CPAN
require 5;
use strict;
use Test;
BEGIN { plan tests => 25 }
#sub XML::RSS::Timing::DEBUG () {10}
use XML::RSS::Timing;
print "# I'm testing XML::RSS::Timing version $XML::RSS::Timing::VERSION\n";
ok 1;
print "# Required OK.\n";
use Time::Local;
my $E1970 = timegm(0,0,0,1,0,70);
ok 1;
print "# E1970 = $E1970 s (", scalar(gmtime($E1970)), ")\n";
my $x = XML::RSS::Timing->new;
sub n ($) { XML::RSS::Timing->_iso_date_to_epoch( $_[0] ); }
sub between ($$$;$) {
my($earlier, $later, $period, $freq) = @_;
$earlier = n($earlier);
$later = n($later);
$x->updatePeriod($period);
$x->updateFrequency( $freq || 1);
my $then = $x->nextUpdate;
print "# Testing 1980-01-27T00:00 < nextupdate < 1980-02-03T00:00\n";
print "# Earlier: ", scalar(gmtime($earlier)), "\n";
print "# Then: ", scalar(gmtime($then )), "\n";
print "# Later: ", scalar(gmtime($later )), "\n";
ok( ( $earlier < $then ), 1, "$earlier should be less than $then" );
ok( ( $then < $later ), 1, "$then should be less than $later" );
}
$x->updateBase( '1980-01-01T00:00' );
$x->lastPolled( n('1980-01-01T00:15') );
between( '1980-01-27T00:00', '1980-02-04T00:00', 'monthly', );
between( '1980-01-27T00:00', '1980-02-04T00:00', 'monthly', '1' );
between( '1980-01-12T00:00', '1980-01-17T00:00', 'monthly', '2' );
between( '1980-01-08T00:00', '1980-01-12T00:00', 'monthly', '3' );
between( '1980-12-10T00:00', '1981-01-20T00:00', 'yearly', );
between( '1980-12-10T00:00', '1981-01-20T00:00', 'yearly', '1' );
between( '1980-06-10T00:00', '1980-07-10T00:00', 'yearly', '2' );
my $month = 28 * 24 * 60 * 60;
$x->maxAge( $month );
between( '1980-01-27T00:00', '1980-01-29T02:00', 'yearly', );
between( '1980-01-27T00:00', '1980-01-29T02:00', 'yearly', '1' );
between( '1980-01-27T00:00', '1980-01-29T02:00', 'yearly', '2' );
between( '1980-01-27T00:00', '1980-01-29T02:00', 'yearly', '3' );
print "# That's it.\n";
ok 1;
( run in 0.938 second using v1.01-cache-2.11-cpan-e1769b4cff6 )