|
Packit |
eb839c |
use warnings;
|
|
Packit |
eb839c |
use strict;
|
|
Packit |
eb839c |
|
|
Packit |
eb839c |
use Test::More tests => 1 + 3*14;
|
|
Packit |
eb839c |
|
|
Packit |
eb839c |
BEGIN { use_ok "Date::ISO8601", qw(present_y); }
|
|
Packit |
eb839c |
|
|
Packit |
eb839c |
my $have_bigint = eval("use Math::BigInt; 1");
|
|
Packit |
eb839c |
my $have_bigrat = eval("use Math::BigRat 0.02; 1");
|
|
Packit |
eb839c |
|
|
Packit |
eb839c |
my @prep = (
|
|
Packit |
eb839c |
sub { $_[0] },
|
|
Packit |
eb839c |
sub { $have_bigint ? Math::BigInt->new($_[0]) : undef },
|
|
Packit |
eb839c |
sub { $have_bigrat ? Math::BigRat->new($_[0]) : undef },
|
|
Packit |
eb839c |
);
|
|
Packit |
eb839c |
|
|
Packit |
eb839c |
sub check($$) {
|
|
Packit |
eb839c |
my($y, $pres) = @_;
|
|
Packit |
eb839c |
foreach my $prep (@prep) { SKIP: {
|
|
Packit |
eb839c |
my $py = $prep->($y);
|
|
Packit |
eb839c |
skip "numeric type unavailable", 1 unless defined $py;
|
|
Packit |
eb839c |
is present_y($py), $pres;
|
|
Packit |
eb839c |
} }
|
|
Packit |
eb839c |
}
|
|
Packit |
eb839c |
|
|
Packit |
eb839c |
check(-123456, "-123456");
|
|
Packit |
eb839c |
check(-12345, "-12345");
|
|
Packit |
eb839c |
check(-1234, "-1234");
|
|
Packit |
eb839c |
check(-123, "-0123");
|
|
Packit |
eb839c |
check(-12, "-0012");
|
|
Packit |
eb839c |
check(-1, "-0001");
|
|
Packit |
eb839c |
check(0, "0000");
|
|
Packit |
eb839c |
check(1, "0001");
|
|
Packit |
eb839c |
check(12, "0012");
|
|
Packit |
eb839c |
check(123, "0123");
|
|
Packit |
eb839c |
check(1234, "1234");
|
|
Packit |
eb839c |
check(12345, "+12345");
|
|
Packit |
eb839c |
check(123456, "+123456");
|
|
Packit |
eb839c |
check("+00000123", "0123");
|
|
Packit |
eb839c |
|
|
Packit |
eb839c |
1;
|