use strict;
use warnings;
use File::Spec;
use Test::More;
use lib File::Spec->catdir( File::Spec->curdir, 't' );
BEGIN {
require 'check_datetime_version.pl';
eval { require Test::Output };
if ($@) {
plan skip_all => 'These tests require Test::Output.';
}
}
{
Test::Output::stderr_like(
sub { DateTime::TimeZone->new( name => 'Fake/TZ' ) },
qr/\Qfrom an older version (unknown)/,
'loading timezone where olson version is not defined'
);
}
{
Test::Output::stderr_like(
sub { DateTime::TimeZone->new( name => 'Fake/TZ2' ) },
qr/\Qfrom an older version (2000a)/,
'loading timezone where olson version is older than current'
);
}
done_testing();
package DateTime::TimeZone::Fake::TZ;
use strict;
use Class::Singleton;
use DateTime::TimeZone;
use DateTime::TimeZone::OlsonDB;
use base 'Class::Singleton', 'DateTime::TimeZone';
sub is_olson {1}
package DateTime::TimeZone::Fake::TZ2;
use strict;
use Class::Singleton;
use DateTime::TimeZone;
use DateTime::TimeZone::OlsonDB;
use base 'Class::Singleton', 'DateTime::TimeZone';
sub is_olson {1}
sub olson_version {'2000a'}