File: 19_invalid_w3cdtf.t

package info (click to toggle)
libxml-feedpp-perl 0.95-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 400 kB
  • sloc: perl: 1,877; sh: 28; makefile: 2
file content (41 lines) | stat: -rw-r--r-- 1,916 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
# ----------------------------------------------------------------
    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;
# ----------------------------------------------------------------