use strict;
use warnings;
use Test::Fatal;
use Test::More;
use DateTime;
use overload;
undef $ENV{PERL_DATETIME_DEFAULT_TZ};
my $dt = DateTime->now;
like(
exception { $dt->set_formatter('Invalid::Formatter') },
qr/\QValidation failed for type named Maybe[Formatter]/,
'set_format is validated'
);
SKIP:
{
## no critic (BuiltinFunctions::ProhibitStringyEval)
skip 'This test requires DateTime::Format::Strptime 1.2000+', 1
unless eval 'use DateTime::Format::Strptime 1.2000; 1;';
my $formatter = DateTime::Format::Strptime->new(
pattern => '%Y%m%d %T',
);
is(
$dt->set_formatter($formatter),
$dt,
'set_formatter returns the datetime object'
);
}
done_testing();