# ---------------------------------------------------------------- use strict; use Test::More tests => 22; BEGIN { use_ok('XML::FeedPP') }; # ---------------------------------------------------------------- my $flink = 'http://www.kawa.net/'; my $ftitle = 'Kawa.net XP'; my $ilink1 = 'http://kawa.at.webry.info/'; my $ilink2 = 'http://kawanet.blogspot.com/'; my $ilink3 = 'http://picasaweb.google.com/www.kawa.net/'; my $ititle1 = 'Kawa.net Blog (ja)'; my $ititle2 = 'Kawa.net Blog (en)'; my $ititle3 = 'Kawa.net Albums'; my $iorgkey = 'foo:bar'; my $iorgv1 = 'test #1'; my $iorgv2 = 'testing #2'; my $iorgv3 = 'tested #3'; # ---------------------------------------------------------------- my $initfeed = { link => $flink, title => $ftitle, }; # ---------------------------------------------------------------- my $initem1 = { link => $ilink1, title => $ititle1, $iorgkey => $iorgv1, }; # ---------------------------------------------------------------- my $initem2 = { link => $ilink2, title => $ititle2, $iorgkey => $iorgv2, }; # ---------------------------------------------------------------- my $initem3 = { link => $ilink3, title => $ititle3, $iorgkey => $iorgv3, }; # ---------------------------------------------------------------- my $feeds = [ XML::FeedPP::RSS->new( %$initfeed ), XML::FeedPP::RDF->new( %$initfeed ), XML::FeedPP::Atom->new( %$initfeed ), ]; foreach my $feed1 ( @$feeds ) { my $type = ref $feed1; my $item1 = $feed1->add_item( %$initem1 ); my $item2 = $feed1->add_item( %$initem2 ); my $item3 = $feed1->add_item( %$initem3 ); # ---------------------------------------------------------------- my @item8 = $feed1->get_item(); is( scalar @item8, 3, "$type feed has 3 items" ); # ---------------------------------------------------------------- my @item4 = $feed1->match_item( link => qr/google.com/i ); is( scalar @item4, 1, "$type match 1 item by title" ); is( $item4[0]->link(), $ilink3, "$type match google.com by link" ); # ---------------------------------------------------------------- my @item5 = $feed1->match_item( title => qr/blog/i ); is( scalar @item5, 2, "$type match 2 items by title" ); # ---------------------------------------------------------------- my @item6 = $feed1->match_item( $iorgkey => qr/^test/i ); is( scalar @item6, 3, "$type match 3 items by $iorgkey" ); # ---------------------------------------------------------------- my @item7 = $feed1->match_item( link => $ilink2, title => qr/blog/i, $iorgkey => qr/testing/i ); is( scalar @item7, 1, "$type match 1 item by 3 args" ); is( $item7[0]->link(), $ilink2, "$type match blogspot.com by 3 args" ); # ---------------------------------------------------------------- } # ---------------------------------------------------------------- ;1; # ----------------------------------------------------------------