BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
-}
-BEGIN {
- our $hasgm;
- eval { my $n = gmtime 0 };
- $hasgm = 1 unless $@ && $@ =~ /unimplemented/;
- unless ($hasgm) { print "1..0 # Skip: no gmtime\n"; exit 0 }
-}
-
-BEGIN {
- our @gmtime = gmtime 0; # This is the function gmtime.
- unless (@gmtime) { print "1..0 # Skip: gmtime failed\n"; exit 0 }
+ require "./test.pl";
}
-print "1..10\n";
-
-use Time::gmtime;
-
-print "ok 1\n";
-
-my $gmtime = gmtime 0 ; # This is the OO gmtime.
-
-print "not " unless $gmtime->sec == $gmtime[0];
-print "ok 2\n";
-
-print "not " unless $gmtime->min == $gmtime[1];
-print "ok 3\n";
-
-print "not " unless $gmtime->hour == $gmtime[2];
-print "ok 4\n";
-
-print "not " unless $gmtime->mday == $gmtime[3];
-print "ok 5\n";
-
-print "not " unless $gmtime->mon == $gmtime[4];
-print "ok 6\n";
-
-print "not " unless $gmtime->year == $gmtime[5];
-print "ok 7\n";
-
-print "not " unless $gmtime->wday == $gmtime[6];
-print "ok 8\n";
-
-print "not " unless $gmtime->yday == $gmtime[7];
-print "ok 9\n";
-
-print "not " unless $gmtime->isdst == $gmtime[8];
-print "ok 10\n";
-
+BEGIN { plan tests => 37; }
+BEGIN { use_ok Time::gmtime; }
+for my $time (0, 2**31-1, 2**33, time) {
+ my $gmtime = gmtime $time; # This is the OO gmtime.
+ my @gmtime = CORE::gmtime $time; # This is the gmtime function
+ for my $method (qw(sec min hour mday mon year wday yday isdst)) {
+ is $gmtime->$method, shift @gmtime, "gmtime($time)->$method";
+ }
+}
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
+
+ require "./test.pl";
}
BEGIN {
- our $haslocal;
+ my $haslocal;
eval { my $n = localtime 0 };
$haslocal = 1 unless $@ && $@ =~ /unimplemented/;
- unless ($haslocal) { print "1..0 # Skip: no localtime\n"; exit 0 }
-}
-BEGIN {
- our @localtime = localtime 0; # This is the function localtime.
- unless (@localtime) { print "1..0 # Skip: localtime failed\n"; exit 0 }
+ skip_all("no localtime") unless $haslocal;
}
-print "1..10\n";
-
-use Time::localtime;
-
-print "ok 1\n";
-
-my $localtime = localtime 0 ; # This is the OO localtime.
-
-print "not " unless $localtime->sec == $localtime[0];
-print "ok 2\n";
-
-print "not " unless $localtime->min == $localtime[1];
-print "ok 3\n";
-
-print "not " unless $localtime->hour == $localtime[2];
-print "ok 4\n";
-
-print "not " unless $localtime->mday == $localtime[3];
-print "ok 5\n";
-
-print "not " unless $localtime->mon == $localtime[4];
-print "ok 6\n";
-
-print "not " unless $localtime->year == $localtime[5];
-print "ok 7\n";
-
-print "not " unless $localtime->wday == $localtime[6];
-print "ok 8\n";
-
-print "not " unless $localtime->yday == $localtime[7];
-print "ok 9\n";
+BEGIN {
+ my @localtime = CORE::localtime 0; # This is the function localtime.
-print "not " unless $localtime->isdst == $localtime[8];
-print "ok 10\n";
+ skip_all("localtime failed") unless @localtime;
+}
+BEGIN { plan tests => 37; }
+BEGIN { use_ok Time::localtime; }
+for my $time (0, 2**31-1, 2**33, time) {
+ my $localtime = localtime $time; # This is the OO localtime.
+ my @localtime = CORE::localtime $time; # This is the localtime function
+ for my $method (qw(sec min hour mday mon year wday yday isdst)) {
+ is $localtime->$method, shift @localtime, "localtime($time)->$method";
+ }
+}