1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
use strict;
use warnings;
use Test::More;
plan tests => 18;
use Class::Date qw(:errors gmdate);
$Class::Date::DST_ADJUST=1;
ok(1);
my $t = gmdate("195xwerf9");
ok !$t;
is $t->error, E_UNPARSABLE;
is $t->errstr, "Unparsable date or time: 195xwerf9\n";
$Class::Date::RANGE_CHECK=0;
$t = gmdate("2001-02-31");
is $t, "2001-03-03";
$Class::Date::RANGE_CHECK=1;
$t = gmdate("2001-02-31");
ok !$t;
ok $t ? 0 : 1;
is $t->error, E_RANGE;
is $t->errstr, "Range check on date or time failed\n";
$t = gmdate("2006-2-6")->clone( month => -1);
ok !$t;
ok $t ? 0 : 1;
$t = new Class::Date(undef);
ok ! $t;
ok $t ? 0 : 1;
is $t->error, E_UNDEFINED;
is $t->errstr, "Undefined date object\n";
$t = gmdate("2006-2-6")->clone(month => 16);
ok !$t;
ok $t ? 0 : 1;
$t = gmdate("2001-05-04 07:09:09") + [1,-2,-4];
ok $t;
|