1#!/usr/bin/perl
2
3use utf8;
4use warnings;
5use strict;
6use Test::Inter;
7$::ti = new Test::Inter $0;
8require "tests.pl";
9
10our $obj = new Date::Manip::Date;
11$obj->config("forcedate","1997-03-08-12:30:00,America/New_York");
12$obj->config("language","Russian","dateformat","nonUS");
13
14sub test {
15   my(@test)=@_;
16   if ($test[0] eq "config") {
17      shift(@test);
18      $obj->config(@test);
19      return ();
20   }
21
22   my $err = $obj->parse(@test);
23   if ($err) {
24      return $obj->err();
25   } else {
26      my $d1 = $obj->value();
27      return $d1;
28   }
29}
30
31my($currS,$currMN,$currH,$currD,$currM,$currY)=("00","30","12","08","03","1997");
32
33my $now           = "${currY}${currM}${currD}${currH}:${currMN}:${currS}";
34my $today         = "${currY}${currM}${currD}00:00:00";
35my $yesterdaydate = "${currY}${currM}". ${currD}-1;
36my $tomorrowdate  = "${currY}${currM}". ${currD}+1;
37my $yesterday     = "${yesterdaydate}00:00:00";
38my $tomorrow      = "${tomorrowdate}00:00:00";
39
40my $tests="
41
42'СЕГОДНЯ' => $today
43
44'сегодня' => $today
45
46'сейчас' => $now
47
48'завтра' => $tomorrow
49
50'вчера' => $yesterday
51
52'двадцать седьмого июня 1977 16:00:00' => 1977062716:00:00
53
5404.12.1999 => 1999120400:00:00
55
56'2 мая 2012' => 2012050200:00:00
57
58'2 май 2012' => 2012050200:00:00
59
6031/12/2000 => 2000123100:00:00
61
62'3 сен 1975' => 1975090300:00:00
63
64'27 окт 2001' => 2001102700:00:00
65
66'первое сентября 1980' => 1980090100:00:00
67
68'декабрь 20, 1999' => 1999122000:00:00
69
70'20 июля 1987 12:32:20' => 1987072012:32:20
71
72'23:37:20 первое июня 1987' => 1987060123:37:20
73
74'20/12/01 17:27:08' => 2001122017:27:08
75
76'20/12/01 в 17:27:08' => 2001122017:27:08
77
78'20/12/01 в 17ч27м08с00' => 2001122017:27:08
79
80'17:27:08 20/12/01' => 2001122017:27:08
81
82'4 октября 1975 4ч00 дня' => 1975100416:00:00
83
84#'4 октября 1975 4 часа дня' => 1975100416:00:00
85
86#'4 октября 1975 в 4 часа дня' => 1975100416:00:00
87";
88
89$::ti->tests(func  => \&test,
90             tests => $tests);
91$::ti->done_testing();
92
93# Local Variables:
94# mode: cperl
95# indent-tabs-mode: nil
96# cperl-indent-level: 3
97# cperl-continued-statement-offset: 2
98# cperl-continued-brace-offset: 0
99# cperl-brace-offset: 0
100# cperl-brace-imaginary-offset: 0
101# cperl-label-offset: 0
102# End:
103