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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
# ----------------------------------------------------------------
use strict;
use Test::More tests => 13;
BEGIN { use_ok('XML::FeedPP') };
# ----------------------------------------------------------------
{
my $source = <<'EOT';
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>sample channel</title>
<title xmlns="http://search.yahoo.com/mrss/">sample channel</title>
<link>http://www.example.com/</link>
<description>sample channel</description>
<item>
<guid isPermaLink="true">http://www.example.com/sample1.html</guid>
<link>http://www.example.com/sample1.html</link>
<title xmlns="http://search.yahoo.com/mrss/">sample item #1</title>
</item>
<item>
<guid isPermaLink="true">http://www.example.com/sample2.html</guid>
<link>http://www.example.com/sample2.html</link>
<title>sample item #2 A</title>
<title>sample item #2 B</title>
</item>
<item>
<guid isPermaLink="true">http://www.example.com/sample3.html</guid>
<link>http://www.example.com/sample3.html</link>
<title>sample item #3 A</title>
<title xmlns="http://search.yahoo.com/mrss/">sample item #3 B</title>
</item>
</channel>
</rss>
EOT
&test_main( $source );
}
# ----------------------------------------------------------------
sub test_main {
my $source = shift;
my $feed = XML::FeedPP->new( $source );
my $ftitle = $feed->title;
is( $ftitle, 'sample channel', 'feed title' );
my @ftitles = $feed->title;
is( (scalar @ftitles), 2, 'num of feed titles' );
my $item1 = $feed->get_item( 0 );
my $ititle1 = $item1->title;
is( $ititle1, 'sample item #1', '1: item title with xmlns' );
my @ititles1 = $item1->title;
is( (scalar @ititles1), 1, '1: num of item titles' );
my $item2 = $feed->get_item( 1 );
my $ititle2 = $item2->title;
is( $ititle2, 'sample item #2 A', '2: item title by array' );
my @ititles2 = $item2->title;
is( (scalar @ititles2), 2, '2: num of item titles' );
is( $ititles2[0], 'sample item #2 A', '2A: item title' );
is( $ititles2[1], 'sample item #2 B', '2B: item title' );
my $item3 = $feed->get_item( 2 );
my $ititle3 = $item3->title;
is( $ititle3, 'sample item #3 A', '3: item title with xmlns by array' );
my @ititles3 = $item3->title;
is( (scalar @ititles3), 2, '3: num of item titles' );
is( $ititles3[0], 'sample item #3 A', '3A: item title' );
is( $ititles3[1], 'sample item #3 B', '3B: item title with xmlns' );
}
# ----------------------------------------------------------------
|