|
Packit |
95306a |
#!/usr/bin/perl -w
|
|
Packit |
95306a |
|
|
Packit |
95306a |
use Test::Inter;
|
|
Packit |
95306a |
$t = new Test::Inter 'object';
|
|
Packit |
95306a |
$testdir = '';
|
|
Packit |
95306a |
$testdir = $t->testdir();
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$ENV{'TZ'} = 'America/Chicago';
|
|
Packit |
95306a |
use Date::Manip;
|
|
Packit |
95306a |
|
|
Packit |
95306a |
use Cwd;
|
|
Packit |
95306a |
my $vers;
|
|
Packit |
95306a |
if ($ENV{'RELEASE_TESTING'}) {
|
|
Packit |
95306a |
my $dir = getcwd;
|
|
Packit |
95306a |
$dir =~ /Date-Manip-([0-9.]+)/;
|
|
Packit |
95306a |
$vers = $1;
|
|
Packit |
95306a |
} else {
|
|
Packit |
95306a |
# We'll only test the directory/version on my machine.
|
|
Packit |
95306a |
# In some instances elsewhere, the install directory in renamed
|
|
Packit |
95306a |
# unpredicatbly, so we won't do this test there.
|
|
Packit |
95306a |
$vers = DateManipVersion();
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
if ($vers >= 6.00) {
|
|
Packit |
95306a |
$t->feature("DM6",1);
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$t->skip_all('Date::Manip 6.xx required','DM6');
|
|
Packit |
95306a |
|
|
Packit |
95306a |
%obj = ();
|
|
Packit |
95306a |
%dmb = ();
|
|
Packit |
95306a |
%dmt = ();
|
|
Packit |
95306a |
|
|
Packit |
95306a |
sub test {
|
|
Packit |
95306a |
($label,$op,@args)=@_;
|
|
Packit |
95306a |
my $new;
|
|
Packit |
95306a |
|
|
Packit |
95306a |
if ($op eq 'new') {
|
|
Packit |
95306a |
my($type,@a) = @args;
|
|
Packit |
95306a |
if (@a && exists $obj{$a[0]}) {
|
|
Packit |
95306a |
my $o = $obj{$a[0]};
|
|
Packit |
95306a |
shift(@a);
|
|
Packit |
95306a |
unshift(@a,$o);
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
if ($type eq 'Base') {
|
|
Packit |
95306a |
$new = new Date::Manip::Base @a;
|
|
Packit |
95306a |
} elsif ($type eq 'TZ') {
|
|
Packit |
95306a |
$new = new Date::Manip::TZ @a;
|
|
Packit |
95306a |
} elsif ($type eq 'Date') {
|
|
Packit |
95306a |
$new = new Date::Manip::Date @a;
|
|
Packit |
95306a |
} elsif ($type eq 'Delta') {
|
|
Packit |
95306a |
$new = new Date::Manip::Delta @a;
|
|
Packit |
95306a |
} elsif ($type eq 'Recur') {
|
|
Packit |
95306a |
$new = new Date::Manip::Recur @a;
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
} elsif ($op eq 'new_config') {
|
|
Packit |
95306a |
my $o = $obj{$args[0]};
|
|
Packit |
95306a |
shift(@args);
|
|
Packit |
95306a |
$new = $o->new_config(@args);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
} elsif ($op eq 'base') {
|
|
Packit |
95306a |
my $o = $obj{$args[0]};
|
|
Packit |
95306a |
shift(@args);
|
|
Packit |
95306a |
$new = $o->base(@args);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
} elsif ($op eq 'tz') {
|
|
Packit |
95306a |
my $o = $obj{$args[0]};
|
|
Packit |
95306a |
shift(@args);
|
|
Packit |
95306a |
$new = $o->tz(@args);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
} elsif ($op eq 'config') {
|
|
Packit |
95306a |
my $o = $obj{$args[0]};
|
|
Packit |
95306a |
shift(@args);
|
|
Packit |
95306a |
$o->config(@args);
|
|
Packit |
95306a |
return (0);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
} elsif ($op eq 'get_config') {
|
|
Packit |
95306a |
my $o = $obj{$args[0]};
|
|
Packit |
95306a |
shift(@args);
|
|
Packit |
95306a |
my @ret = $o->get_config(@args);
|
|
Packit |
95306a |
if (@ret > 3) {
|
|
Packit |
95306a |
@ret = @ret[0..2];
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
return @ret;
|
|
Packit |
95306a |
|
|
Packit |
95306a |
} elsif ($op eq 'version') {
|
|
Packit |
95306a |
my $o = $obj{$args[0]};
|
|
Packit |
95306a |
shift(@args);
|
|
Packit |
95306a |
return $o->version(@args);
|
|
Packit |
95306a |
|
|
Packit |
95306a |
} elsif (exists $obj{$op}) {
|
|
Packit |
95306a |
my $o = $obj{$op};
|
|
Packit |
95306a |
$new = $o->new(@args);
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
if (! defined $new) {
|
|
Packit |
95306a |
return (undef);
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
my($dmb,$dmt);
|
|
Packit |
95306a |
if (ref($new) eq 'Date::Manip::Base') {
|
|
Packit |
95306a |
$dmb = $new;
|
|
Packit |
95306a |
$dmt = '---';
|
|
Packit |
95306a |
} elsif (ref($new) eq 'Date::Manip::TZ') {
|
|
Packit |
95306a |
$dmb = $new->base();
|
|
Packit |
95306a |
$dmt = $new;
|
|
Packit |
95306a |
} else {
|
|
Packit |
95306a |
$dmb = $new->base();
|
|
Packit |
95306a |
$dmt = $new->tz();
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$obj{$label} = $new;
|
|
Packit |
95306a |
my @ret;
|
|
Packit |
95306a |
@ret = (ref($new));
|
|
Packit |
95306a |
|
|
Packit |
95306a |
if (! exists $dmb{$dmb}) {
|
|
Packit |
95306a |
$dmb{$dmb} = $label;
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
push(@ret,$dmb{$dmb});
|
|
Packit |
95306a |
|
|
Packit |
95306a |
if ($dmt eq '---') {
|
|
Packit |
95306a |
push(@ret,$dmt);
|
|
Packit |
95306a |
} else {
|
|
Packit |
95306a |
if (! exists $dmt{$dmt}) {
|
|
Packit |
95306a |
$dmt{$dmt} = $label;
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
push(@ret,$dmt{$dmt});
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
return @ret;
|
|
Packit |
95306a |
}
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$tests="
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### new CLASS
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0001 new Base
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Base
|
|
Packit |
95306a |
o0001
|
|
Packit |
95306a |
---
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0002 new TZ
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::TZ
|
|
Packit |
95306a |
o0002
|
|
Packit |
95306a |
o0002
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0003 new Date
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0003
|
|
Packit |
95306a |
o0003
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0004 new Delta
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Delta
|
|
Packit |
95306a |
o0004
|
|
Packit |
95306a |
o0004
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0005 new Recur
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Recur
|
|
Packit |
95306a |
o0005
|
|
Packit |
95306a |
o0005
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### OBJ->new
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0006 o0001
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Base
|
|
Packit |
95306a |
o0006
|
|
Packit |
95306a |
---
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0007 o0002
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::TZ
|
|
Packit |
95306a |
o0002
|
|
Packit |
95306a |
o0007
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0008 o0003
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0003
|
|
Packit |
95306a |
o0003
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0009 o0004
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Delta
|
|
Packit |
95306a |
o0004
|
|
Packit |
95306a |
o0004
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0010 o0005
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Recur
|
|
Packit |
95306a |
o0005
|
|
Packit |
95306a |
o0005
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### new CLASS OBJ
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0011 new Base o0001
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Base
|
|
Packit |
95306a |
o0011
|
|
Packit |
95306a |
---
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0012 new Date o0001
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0001
|
|
Packit |
95306a |
o0012
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0013 new Date o0002
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0002
|
|
Packit |
95306a |
o0002
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### new_config
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0014 new_config o0001
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Base
|
|
Packit |
95306a |
o0014
|
|
Packit |
95306a |
---
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0015 new_config o0002
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::TZ
|
|
Packit |
95306a |
o0015
|
|
Packit |
95306a |
o0015
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0016 new_config o0003
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0016
|
|
Packit |
95306a |
o0016
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0017 new_config o0004
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Delta
|
|
Packit |
95306a |
o0017
|
|
Packit |
95306a |
o0017
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0018 new_config o0005
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Recur
|
|
Packit |
95306a |
o0018
|
|
Packit |
95306a |
o0018
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0019 new_config o0003 now
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0019
|
|
Packit |
95306a |
o0019
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0020 new_config o0003 [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0020
|
|
Packit |
95306a |
o0020
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0021 new_config o0003 now [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0021
|
|
Packit |
95306a |
o0021
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### base/tz
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0022 base o0001
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
__undef__
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0023 base o0002
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Base
|
|
Packit |
95306a |
o0002
|
|
Packit |
95306a |
---
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0024 base o0003
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Base
|
|
Packit |
95306a |
o0003
|
|
Packit |
95306a |
---
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0022 tz o0001
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
__undef__
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0023 tz o0002
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
__undef__
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0024 tz o0003
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::TZ
|
|
Packit |
95306a |
o0003
|
|
Packit |
95306a |
o0003
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### misc
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0100 new Date now noiso8601
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0100
|
|
Packit |
95306a |
o0100
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0101 new Date now [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0101
|
|
Packit |
95306a |
o0101
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0102 new Date now noiso8601 [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0102
|
|
Packit |
95306a |
o0102
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0103 new Date o0102 now noiso8601
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0102
|
|
Packit |
95306a |
o0102
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0104 new Date o0102 now [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0104
|
|
Packit |
95306a |
o0104
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0105 new Date o0102 now noiso8601 [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0105
|
|
Packit |
95306a |
o0105
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0106 new TZ [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::TZ
|
|
Packit |
95306a |
o0106
|
|
Packit |
95306a |
o0106
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0107 new TZ o0102 [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::TZ
|
|
Packit |
95306a |
o0107
|
|
Packit |
95306a |
o0107
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0108 new Date o0101 now noiso8601 [ forcedate now,America/New_York ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Date
|
|
Packit |
95306a |
o0108
|
|
Packit |
95306a |
o0108
|
|
Packit |
95306a |
|
|
Packit |
95306a |
o0109 new Base o0101 [ defaults 1 ]
|
|
Packit |
95306a |
=>
|
|
Packit |
95306a |
Date::Manip::Base
|
|
Packit |
95306a |
o0109
|
|
Packit |
95306a |
---
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### config/get_config
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0001 yytoyyyy => 89
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- config o0001 yytoyyyy c18 => 0
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0001 yytoyyyy => c18
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0002 yytoyyyy => 89
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- config o0002 yytoyyyy c18 => 0
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0002 yytoyyyy => c18
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0003 yytoyyyy => 89
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- config o0003 yytoyyyy c18 => 0
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0003 yytoyyyy => c18
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0004 yytoyyyy defaulttime => 89 midnight
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- get_config o0004 => dateformat defaults defaulttime
|
|
Packit |
95306a |
|
|
Packit |
95306a |
### version
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- version o0001 => $vers
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- version o0001 1 => $vers
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- version o0002 1 => '$vers [america/chicago]'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- config o0002 setdate now,america/new_york => 0
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- version o0002 => $vers
|
|
Packit |
95306a |
|
|
Packit |
95306a |
- version o0002 1 => '$vers [america/chicago]'
|
|
Packit |
95306a |
|
|
Packit |
95306a |
";
|
|
Packit |
95306a |
|
|
Packit |
95306a |
$t->tests(func => \&test,
|
|
Packit |
95306a |
tests => $tests);
|
|
Packit |
95306a |
$t->done_testing();
|
|
Packit |
95306a |
|
|
Packit |
95306a |
#Local Variables:
|
|
Packit |
95306a |
#mode: cperl
|
|
Packit |
95306a |
#indent-tabs-mode: nil
|
|
Packit |
95306a |
#cperl-indent-level: 3
|
|
Packit |
95306a |
#cperl-continued-statement-offset: 2
|
|
Packit |
95306a |
#cperl-continued-brace-offset: 0
|
|
Packit |
95306a |
#cperl-brace-offset: 0
|
|
Packit |
95306a |
#cperl-brace-imaginary-offset: 0
|
|
Packit |
95306a |
#cperl-label-offset: 0
|
|
Packit |
95306a |
#End:
|