root/lang/perl/Text-Chalow-Parser/trunk/t/01_parse.t @ 5530

Revision 5530, 1.7 kB (checked in by yto, 5 years ago)

lang/perl/Text-Chalow-Parser: add 2 more STATs

Line 
1use strict;
2use Test::More tests => 20;
3
4use Text::Chalow::Parser;
5
6
7my $changelog = << 'ChangeLog'
82008-01-20  Tatsuwo  <yto at example.com>
9
10        * ChangeLogReader.pm:
11        good-bye message-top, message-bottom
12
13        * Hello[CAT2]:
14hello
15
162008-01-19  Tatsuwo  <yto at example.com>
17
18        * Good:
19        bad
20
212007-03-11  YAMASHITA Tatsuo  <yto at nais.to>
22
23        * chalow[CAT1][CAT2]: add use URI::Escape;
24
252007-02-05  YAMASHITA Tatsuo  <yto at nais.to>
26
27        * chalow[CAT1]: move to chalow.org
28
29        * p:hohohoho
30
312006-01-30  Mr. Oreore
32
33        * p:secret: hogehoge
34
352006-01-20  Mr. Oreore
36
37        * hoge[CAT1][CAT2]: uhihi
38
39        * foo[CAT2]: bar
40ChangeLog
41        ;
42
43my $rcp1 = new Text::Chalow::Parser();
44ok($rcp1);
45$rcp1->parse_string(\$changelog);
46is(keys %{$rcp1->{all}}, 5);
47ok($rcp1->{all}->{"2006-01-20"}->{1}{ho} eq "foo");
48is(@{$rcp1->{all}->{"2006-01-20"}->{1}{cat}}, 1);
49ok($rcp1->{all}->{"2006-01-20"}->{2}{co} eq "uhihi\n");
50ok($rcp1->{all}->{"2006-01-20"}->{2}{a} eq "Mr. Oreore");
51is(@{$rcp1->{all}->{"2006-01-20"}->{2}{cat}}, 2);
52is($rcp1->{all}->{"2006-01-20"}->{curid}, 2);
53is($rcp1->{all}->{"2007-02-05"}->{curid}, 1);
54
55my $rcp2 = new Text::Chalow::Parser(stop_date => "2007-03-01");
56ok($rcp2);
57$rcp2->parse_string(\$changelog);
58is(keys %{$rcp2->{all}}, 3);
59ok($rcp2->{all}->{"2008-01-20"}->{1}{co} eq "\nhello\n");
60is(@{$rcp2->{all}->{"2008-01-20"}->{1}{cat}}, 1);
61ok($rcp2->{all}->{"2008-01-19"}->{1}{co} eq "\nbad\n");
62
63is($rcp1->{STAT}->{CAT}->{"CAT1"}, $rcp2->{STAT}->{CAT}->{"CAT1"});
64is($rcp1->{STAT}->{CAT}->{"CAT2"}, $rcp2->{STAT}->{CAT}->{"CAT2"});
65is($rcp1->{STAT}->{ym}->{"2008-01"}, $rcp2->{STAT}->{ym}->{"2008-01"});
66is(keys %{$rcp1->{STAT}->{md}->{"01-20"}}, keys %{$rcp2->{STAT}->{md}->{"01-20"}});
67
68is($rcp1->{STAT}->{ymd}->{"2008-01-20"}, 2);
69is($rcp1->{STAT}->{all}, 7);
Note: See TracBrowser for help on using the browser.