plan
tests
=> 7;
use
constant
RSS_CHANNEL_TITLE
=>
"Example 0.9 Channel"
;
use
constant
RSS_DOCUMENT
=>
qq(<?xml version="1.0"?>
<channel>
<title>Example 0.9 Channel</title>
<description>To lead by example</description>
</channel>
<image>
<title>Mozilla</title>
</image>
<item>
<title>News for September the second</title>
</item>
<item>
<title>News for September the first</title>
</item>
</rdf:RDF>)
;
use_ok(
"XML::RSS"
);
my
$xml
= XML::RSS->new();
isa_ok(
$xml
,
"XML::RSS"
);
eval
{
$xml
->parse(RSS_DOCUMENT); };
is($@,
''
,
"Parsed RSS feed"
);
cmp_ok(
$xml
->{
'_internal'
}->{
'version'
},
"eq"
,
RSS_VERSION,
"Is RSS version "
.RSS_VERSION);
cmp_ok(
$xml
->{channel}->{
'title'
},
"eq"
,
RSS_CHANNEL_TITLE,
"Feed title is "
.RSS_CHANNEL_TITLE);
cmp_ok(
ref
(
$xml
->{items}),
"eq"
,
"ARRAY"
,
"\$xml->{items} is an ARRAY ref"
);
my
$ok
= 1;
foreach
my
$item
(@{
$xml
->{items}}) {
foreach
my
$el
(
"title"
,
"link"
) {
if
(!
exists
$item
->{
$el
}) {
$ok
= 0;
last
;
}
}
last
if
(!
$ok
);
}
ok(
$ok
,
"All items have title and link elements"
);