The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# ----------------------------------------------------------------
    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;
# ----------------------------------------------------------------