HTML-Microformats
view release on metacpan or search on metacpan
t/11hcalendar.t view on Meta::CPAN
<b class="value">+0100</b>
<b class="value">1am</b>
<b class="value">2001-02-03</b>
</i>
<i class="summary">Event 07 - test 1am</i>
</p>
<p class="vevent">
<i class="dtstart">
<b class="value">+0100</b>
<b class="value">1 pm</b>
<b class="value">2001-02-03</b>
</i>
<i class="summary">Event 08 - test 1pm</i>
</p>
<p class="vevent">
<i class="dtstart">
<b class="value">+0100</b>
<b class="value">01.02 p. M.</b>
<b class="value">2001-02-03</b>
</i>
<i class="summary">Event 09 - test 01.02 p.M.</i>
</p>
<p class="vevent">
<i class="dtstart">
<b class="value">+0100</b>
<b class="value">01.02.03 p.M.</b>
<b class="value">2001-02-03</b>
</i>
<i class="summary">Event 10 - test 01.02.03 p.M.</i>
</p>
<p class="vevent">
<i class="dtstart">
<b class="value">+0100</b>
<b class="value">01.02.03 p.M.</b>
<b class="value">2001-02-03</b>
</i>
<i class="dtend">
<b class="value">1.7.3 pm</b>
</i>
<i class="summary">Event 11 - dtend feedthrough from dtstart (with 'value')</i>
</p>
<p class="vevent">
<i class="dtstart">
<b class="value">+0100</b>
<b class="value">01.02.03 p.M.</b>
<b class="value">2001-02-03</b>
</i>
<i class="dtend">13:07:03</i>
<i class="summary">Event 12 - dtend feedthrough from dtstart (no 'value')</i>
</p>
<p class="vtodo">
<i class="dtstart">XXX <b class="value-title" title="2001-02-03T01:02:03+0100"></b> 3 Feb</i>
<i class="summary">Todo 01 - invalid value-title</i>
</p>
HTML
my $document = HTML::Microformats->new_document($html, 'http://example.com/');
$document->assume_all_profiles;
my ($calendar) = $document->objects('hCalendar');
my @events = sort { $a->data->{summary} cmp $b->data->{summary} }
@{ $calendar->get_vevent };
is($events[0]->get_dtstart,
'2001-02-03T01:02:03+0100',
$events[0]->get_summary);
is($events[1]->get_dtstart,
'2001-02-03T01:02:03+0100',
$events[1]->get_summary);
is($events[2]->get_dtstart,
'2001-02-03T01:02:03+0100',
$events[2]->get_summary);
is($events[3]->get_dtstart,
'2001-02-03T01:02:03+0100',
$events[3]->get_summary);
is($events[4]->get_dtstart,
'2001-02-03T01:02:03+0100',
$events[4]->get_summary);
is($events[5]->get_dtstart,
'2001-02-03T01:02:03+0000',
$events[5]->get_summary);
is($events[6]->get_dtstart,
'2001-02-03T01:00+0100',
$events[6]->get_summary);
is($events[7]->get_dtstart,
'2001-02-03T13:00+0100',
$events[7]->get_summary);
is($events[8]->get_dtstart,
'2001-02-03T13:02+0100',
$events[8]->get_summary);
is($events[9]->get_dtstart,
'2001-02-03T13:02:03+0100',
$events[9]->get_summary);
is($events[10]->get_dtend,
'2001-02-03T13:07:03+0100',
$events[10]->get_summary);
is($events[11]->get_dtend,
'2001-02-03T13:07:03+0100',
$events[11]->get_summary);
my @todos = sort { $a->data->{summary} cmp $b->data->{summary} }
@{ $calendar->get_vtodo };
is($todos[0]->get_dtstart,
undef,
$todos[0]->get_summary);
( run in 2.010 seconds using v1.01-cache-2.11-cpan-437f7b0c052 )