/XML-FeedPP/t/19_invalid_w3cdtf.t
http://xml-treepp.googlecode.com/ · Raku · 41 lines · 33 code · 0 blank · 8 comment · 2 complexity · 8f6d65f8a058c530e90596a94031c87f MD5 · raw file
- # ----------------------------------------------------------------
- use strict;
- use Test::More tests => 11;
- BEGIN { use_ok('XML::FeedPP') };
- # ----------------------------------------------------------------
- my $map = {
- # valid - http://www.w3.org/TR/NOTE-datetime
- "2001-02-03" => "2001-02-03T00:00:00Z",
- "2002-03-04T05:06Z" => "2002-03-04T05:06:00Z",
- "2003-04-05T06:07+08:30" => "2003-04-05T06:07:00+08:30",
- "2004-05-06T07:08:09Z" => "2004-05-06T07:08:09Z",
- "2005-06-07T08:09:10-11:30" => "2005-06-07T08:09:10-11:30",
- "2006-07-08T09:10:11.12Z" => "2006-07-08T09:10:11Z",
- "2007-08-09T10:11:12.13+14:30" => "2007-08-09T10:11:12+14:30",
- # invalid - http://portal.nifty.com/rss/headline.rdf
- "2000-01-02T03:04:05:+09:00" => "2000-01-02T03:04:05+09:00",
- # invalid - http://www.cnc.co.jp/news/xml/rss.xml
- "2008-03-24T16:54:33 +0900" => "2008-03-24T16:54:33+09:00",
- };
- # ----------------------------------------------------------------
- my $rss = XML::FeedPP::RSS->new();
- foreach my $try ( sort keys %$map ) {
- my $url = "http://www.kawa.net/?date=$try";
- my $item3 = $rss->add_item( $url );
- $item3->pubDate( $try );
- }
- my $xml = $rss->to_string();
- my $rdf = XML::FeedPP::RDF->new();
- $rdf->merge( $xml );
- my $check = {};
- foreach my $item4 ( $rdf->get_item() ) {
- my $url = $item4->link();
- my $try = (split( /=/, $url ))[1];
- next unless defined $map->{$try};
- $check->{$try} ++;
- is( $item4->pubDate(), $map->{$try}, "RSS to RDF: $try" );
- }
- is( (scalar keys %$check), (scalar keys %$map), "RSS to RDF: checked" );
- # ----------------------------------------------------------------
- ;1;
- # ----------------------------------------------------------------