File: date.calc.date_date_exact.t

package info (click to toggle)
libdate-manip-perl 6.98-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 14,928 kB
  • sloc: perl: 222,846; sh: 54; ansic: 26; makefile: 8
file content (87 lines) | stat: -rwxr-xr-x 2,137 bytes parent folder | download | duplicates (3)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/usr/bin/perl

use warnings;
use strict;
use Test::Inter;
$::ti = new Test::Inter $0;
require "tests.pl";

our $obj1 = new Date::Manip::Date;
$obj1->config("forcedate","now,America/New_York");
our $obj2 = $obj1->new_date();

sub test {
   my(@test)=@_;

   my $err = $obj1->parse(shift(@test));
   return $$obj1{"err"}  if ($err);
   $err = $obj2->parse(shift(@test));
   return $$obj2{"err"}  if ($err);
   push(@test,"exact");

   my $obj3 = $obj1->calc($obj2,@test);
   return   if (! defined $obj3);
   my $ret = $obj3->value();
   return $ret;
}

my $tests="

1996010112:00:00  1996010114:30:30    => 0:0:0:0:2:30:30

1996010112:00:00  1996010114:30:30 1  => 0:0:0:0:-2:30:30

1996010114:30:30  1996010112:00:00    => 0:0:0:0:-2:30:30

1996010112:00:00  1996010214:30:30    => 0:0:0:0:26:30:30

1996010112:00:00  1996010214:30:30 1  => 0:0:0:0:-26:30:30

1996010112:00:00  1996010214:30:30 2  => 0:0:0:0:-26:30:30

1996010214:30:30  1996010112:00:00    => 0:0:0:0:-26:30:30

1996010112:00:00  1996010210:30:30    => 0:0:0:0:22:30:30

1996010210:30:30  1996010112:00:00    => 0:0:0:0:-22:30:30

1996010112:00:00  1997010210:30:30    => 0:0:0:0:8806:30:30

1996010112:00:00  1997010210:30:30 1  => 0:0:0:0:-8806:30:30

1996010112:00:00  1997010210:30:30 2  => 0:0:0:0:-8806:30:30

1997010210:30:30  1996010112:00:00    => 0:0:0:0:-8806:30:30

1997010100:00:01  1997020100:00:00    => 0:0:0:0:743:59:59

1997010100:00:01  1997030100:00:00    => 0:0:0:0:1415:59:59

1997010100:00:01  1998030100:00:00    => 0:0:0:0:10175:59:59

2008010112:00:00  2008060112:00:00    => 0:0:0:0:3647:0:0

# Timezones

'1996010112:00:00 CST'  '1996010214:30:30 CST'    => 0:0:0:0:26:30:30

'1996010112:00:00 CST'  '1996010215:30:30 EST'    => 0:0:0:0:26:30:30

'2008010112:00:00 CST'  '2008060112:00:00 CDT'    => 0:0:0:0:3647:0:0

";

$::ti->tests(func  => \&test,
             tests => $tests);
$::ti->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: