#!/usr/bin/perl -w use Test::Inter; $t = new Test::Inter 'periods'; $testdir = ''; $testdir = $t->testdir(); use Date::Manip; if (DateManipVersion() >= 6.00) { $t->feature("DM6",1); } $t->skip_all('Date::Manip 6.xx required','DM6'); sub test { (@test)=@_; @per = $obj->periods(@test); @ret = (); foreach my $per (@per) { push(@ret,@$per); } return @ret; } $obj = new Date::Manip::TZ; $obj->config("forcedate","now,America/New_York"); $tests=" America/New_York 1 => [ 1 1 2 0 0 0 ] [ 1 1 1 19 3 58 ] -04:56:02 [ -4 -56 -2 ] LMT 0 [ 1883 11 18 16 59 59 ] [ 1883 11 18 12 3 57 ] 0001010200:00:00 0001010119:03:58 1883111816:59:59 1883111812:03:57 America/New_York 1800 => America/New_York 1883 => [ 1883 11 18 17 0 0 ] [ 1883 11 18 12 0 0 ] -05:00:00 [ -5 0 0 ] EST 0 [ 1918 3 31 6 59 59 ] [ 1918 3 31 1 59 59 ] 1883111817:00:00 1883111812:00:00 1918033106:59:59 1918033101:59:59 America/New_York 1926 => [ 1926 4 25 7 0 0 ] [ 1926 4 25 3 0 0 ] -04:00:00 [ -4 0 0 ] EDT 1 [ 1926 9 26 5 59 59 ] [ 1926 9 26 1 59 59 ] 1926042507:00:00 1926042503:00:00 1926092605:59:59 1926092601:59:59 [ 1926 9 26 6 0 0 ] [ 1926 9 26 1 0 0 ] -05:00:00 [ -5 0 0 ] EST 0 [ 1927 4 24 6 59 59 ] [ 1927 4 24 1 59 59 ] 1926092606:00:00 1926092601:00:00 1927042406:59:59 1927042401:59:59 America/New_York 2037 => [ 2037 3 8 7 0 0 ] [ 2037 3 8 3 0 0 ] -04:00:00 [ -4 0 0 ] EDT 1 [ 2037 11 1 5 59 59 ] [ 2037 11 1 1 59 59 ] 2037030807:00:00 2037030803:00:00 2037110105:59:59 2037110101:59:59 [ 2037 11 1 6 0 0 ] [ 2037 11 1 1 0 0 ] -05:00:00 [ -5 0 0 ] EST 0 [ 2038 3 14 6 59 59 ] [ 2038 3 14 1 59 59 ] 2037110106:00:00 2037110101:00:00 2038031406:59:59 2038031401:59:59 America/New_York 2100 => [ 2100 3 14 7 0 0 ] [ 2100 3 14 3 0 0 ] -04:00:00 [ -4 0 0 ] EDT 1 [ 2100 11 7 5 59 59 ] [ 2100 11 7 1 59 59 ] 2100031407:00:00 2100031403:00:00 2100110705:59:59 2100110701:59:59 [ 2100 11 7 6 0 0 ] [ 2100 11 7 1 0 0 ] -05:00:00 [ -5 0 0 ] EST 0 [ 2101 3 13 6 59 59 ] [ 2101 3 13 1 59 59 ] 2100110706:00:00 2100110701:00:00 2101031306:59:59 2101031301:59:59 Asia/Damascus 2038 => [ 2038 3 25 22 0 0 ] [ 2038 3 26 1 0 0 ] +03:00:00 [ 3 0 0 ] EEST 1 [ 2038 10 28 20 59 59 ] [ 2038 10 28 23 59 59 ] 2038032522:00:00 2038032601:00:00 2038102820:59:59 2038102823:59:59 [ 2038 10 28 21 0 0 ] [ 2038 10 28 23 0 0 ] +02:00:00 [ 2 0 0 ] EET 0 [ 2039 3 24 21 59 59 ] [ 2039 3 24 23 59 59 ] 2038102821:00:00 2038102823:00:00 2039032421:59:59 2039032423:59:59 Asia/Damascus 2039 => [ 2039 3 24 22 0 0 ] [ 2039 3 25 1 0 0 ] +03:00:00 [ 3 0 0 ] EEST 1 [ 2039 10 27 20 59 59 ] [ 2039 10 27 23 59 59 ] 2039032422:00:00 2039032501:00:00 2039102720:59:59 2039102723:59:59 [ 2039 10 27 21 0 0 ] [ 2039 10 27 23 0 0 ] +02:00:00 [ 2 0 0 ] EET 0 [ 2040 3 29 21 59 59 ] [ 2040 3 29 23 59 59 ] 2039102721:00:00 2039102723:00:00 2040032921:59:59 2040032923:59:59 America/New_York __undef__ 1900 => [ 1 1 2 0 0 0 ] [ 1 1 1 19 3 58 ] -04:56:02 [ -4 -56 -2 ] LMT 0 [ 1883 11 18 16 59 59 ] [ 1883 11 18 12 3 57 ] 0001010200:00:00 0001010119:03:58 1883111816:59:59 1883111812:03:57 [ 1883 11 18 17 0 0 ] [ 1883 11 18 12 0 0 ] -05:00:00 [ -5 0 0 ] EST 0 [ 1918 3 31 6 59 59 ] [ 1918 3 31 1 59 59 ] 1883111817:00:00 1883111812:00:00 1918033106:59:59 1918033101:59:59 "; $t->tests(func => \&test, tests => $tests); $t->done_testing(); #Local Variables: #mode: cperl #indent-tabs-mode: nil #cperl-indent-level: 3 #cperl-continued-statement-offset: 2 #cperl-continued-brace-offset: 0 #cperl-brace-offset: 0 #cperl-brace-imaginary-offset: 0 #cperl-label-offset: 0 #End: