File: 03-returns.t

package info (click to toggle)
libdate-extract-perl 0.05-1~bpo70%2B1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy-backports
  • size: 192 kB
  • sloc: perl: 2,118; makefile: 2
file content (48 lines) | stat: -rw-r--r-- 1,844 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
#!perl -T
use strict;
use warnings;
use Test::More tests => 17;
use Test::MockTime 'set_fixed_time';
use Date::Extract;

# a Thursday. The time I wrote this line of code, in fact (in UTC)
set_fixed_time('2007-11-16T02:48:52Z');

my $in = "Today I see a boat. Tomorrow I'll see another. Yesterday I swam.";

my $parser = Date::Extract->new(time_zone => 'UTC');
my $dt = $parser->extract($in);
is($dt->ymd, '2007-11-16', 'default: returns first date, today');

my @dt = $parser->extract($in, returns => 'all');
is($dt[0]->ymd, '2007-11-16', 'all: 1st date out was today');
is($dt[1]->ymd, '2007-11-17', 'all: 2nd date out was tomorrow');
is($dt[2]->ymd, '2007-11-15', 'all: 3rd date out was yesterday');

@dt = $parser->extract($in, returns => 'all_cron');
is($dt[0]->ymd, '2007-11-15', 'all_cron: 1st date out was yesterday');
is($dt[1]->ymd, '2007-11-16', 'all_cron: 2nd date out was today');
is($dt[2]->ymd, '2007-11-17', 'all_cron: 3rd date out was tomorrow');

@dt = $parser->extract($in, returns => 'first');
is(@dt, 1, "only one day came out");
is($dt[0]->ymd, '2007-11-16', 'first: returns first date, today');

@dt = $parser->extract($in, returns => 'last');
is(@dt, 1, "only one day came out");
is($dt[0]->ymd, '2007-11-15', 'last: returns last date, yesterday');

@dt = $parser->extract($in, returns => 'earliest');
is(@dt, 1, "only one day came out");
is($dt[0]->ymd, '2007-11-15', 'earliest: returns earliest date, yesterday');

@dt = $parser->extract($in, returns => 'latest');
is(@dt, 1, "only one day came out");
is($dt[0]->ymd, '2007-11-17', 'latest: returns latest date, tomorrow');

$dt = $parser->extract($in, returns => 'all_cron');
is($dt->ymd, '2007-11-15', 'scalar all_cron: only date out was yesterday');

$dt = $parser->extract($in, returns => 'all');
is($dt->ymd, '2007-11-16', 'scalar all: only date out was today');