# ---------------------------------------------------------------- use strict; use Test::More tests => 40; BEGIN { use_ok('XML::FeedPP') }; # ---------------------------------------------------------------- my $link1 = "http://www.kawa.net/"; my $link2 = "http://www.youtube.com/user/YusukeKawasaki"; my $link3 = "http://picasaweb.google.com/www.kawa.net/"; my $link4 = "http://kawanet.blogspot.com/"; my $link5 = "http://del.icio.us/kawa.net"; # ---------------------------------------------------------------- my $feed1 = XML::FeedPP::RSS->new(); my $feed2 = XML::FeedPP::RDF->new(); my $feed3 = XML::FeedPP::Atom->new(); # ---------------------------------------------------------------- my $links = [ $link1, $link2, $link3, $link4, $link5 ]; # ---------------------------------------------------------------- foreach my $f ( $feed1, $feed2, $feed3 ) { my $mode = ( (ref $f) =~ /([^:]+)$/ )[0]; foreach my $u ( @$links ) { $f->add_item( $u ); } $f->limit_item( 4 ); is( scalar $f->get_item(), 4, "$mode limit_item 4 count" ); is( $f->get_item(0)->link(), $link1, "$mode limit_item 4 link 0" ); is( $f->get_item(3)->link(), $link4, "$mode limit_item 4 link 3" ); $f->limit_item( -3 ); is( scalar $f->get_item(), 3, "$mode limit_recent_item 3 count" ); is( $f->get_item(0)->link(), $link2, "$mode limit_recent_item 3 link 0" ); is( $f->get_item(2)->link(), $link4, "$mode limit_recent_item 3 link 2" ); $f->limit_item( 2 ); is( scalar $f->get_item(), 2, "$mode limit_item 2 count" ); is( $f->get_item(0)->link(), $link2, "$mode limit_item 2 link 0" ); is( $f->get_item(1)->link(), $link3, "$mode limit_item 2 link 1" ); $f->limit_item( -1 ); is( scalar $f->get_item(), 1, "$mode limit_recent_item 1 count" ); is( $f->get_item(0)->link(), $link3, "$mode limit_recent_item 1 link 0" ); $f->limit_item( 10 ); is( scalar $f->get_item(), 1, "$mode limit_item 10 count" ); $f->limit_item( -10 ); is( scalar $f->get_item(), 1, "$mode limit_recent_item 10 count" ); } # ---------------------------------------------------------------- ;1; # ----------------------------------------------------------------