use_ok(
'XML::RSS::JavaScript'
);
my
$rss
= XML::RSS::JavaScript->new();
isa_ok(
$rss
,
'XML::RSS::JavaScript'
);
$rss
->channel(
'title'
=>
'title'
,
'link'
=>
'link'
,
'description'
=>
'description'
);
$rss
->add_item(
'title'
=>
'title1'
,
'link'
=>
'link1'
,
'description'
=>
'desc1'
);
$rss
->add_item(
'title'
=>
'title2 & test'
,
'link'
=>
'link2 & test'
,
'description'
=>
'desc2 & test'
);
my
$expected
=
<<'JAVASCRIPT_TEXT';
document.write('<div class=\"rss_feed\">');
document.write('<div class=\"rss_feed_title\">title</div>');
document.write('<ul class=\"rss_item_list\">');
document.write('<li class=\"rss_item\"><span class=\"rss_item_title\"><a class=\"rss_item_link\" href=\"link1\">title1</a></span> <span class=\"rss_item_desc\">desc1</span></li>');
document.write('<li class=\"rss_item\"><span class=\"rss_item_title\"><a class=\"rss_item_link\" href=\"link2 & test\">title2 & test</a></span> <span class=\"rss_item_desc\">desc2 & test</span></li>');
document.write('</ul>');
document.write('</div>');
JAVASCRIPT_TEXT
my
$expected_max
=
<<'JAVASCRIPT_TEXT';
document.write('<div class=\"rss_feed\">');
document.write('<div class=\"rss_feed_title\">title</div>');
document.write('<ul class=\"rss_item_list\">');
document.write('<li class=\"rss_item\"><span class=\"rss_item_title\"><a class=\"rss_item_link\" href=\"link1\">title1</a></span> <span class=\"rss_item_desc\">desc1</span></li>');
document.write('</ul>');
document.write('</div>');
JAVASCRIPT_TEXT
my
$expected_nodesc
=
<<'JAVASCRIPT_TEXT';
document.write('<div class=\"rss_feed\">');
document.write('<div class=\"rss_feed_title\">title</div>');
document.write('<ul class=\"rss_item_list\">');
document.write('<li class=\"rss_item\"><span class=\"rss_item_title\"><a class=\"rss_item_link\" href=\"link1\">title1</a></span></li>');
document.write('<li class=\"rss_item\"><span class=\"rss_item_title\"><a class=\"rss_item_link\" href=\"link2 & test\">title2 & test</a></span></li>');
document.write('</ul>');
document.write('</div>');
JAVASCRIPT_TEXT
is(
$rss
->as_javascript,
$expected
,
'as_javascript'
);
is(
$rss
->as_javascript( 1 ),
$expected_max
,
'as_javascript( max )'
);
is(
$rss
->as_javascript(
undef
, 0 ),
$expected_nodesc
,
'as_javascript( undef, nodesc )'
);
is(
$rss
->as_javascript( 3 ),
$expected
,
'as_javascript( max too big )'
);
is(
$rss
->as_javascript(
undef
, 1 ),
$expected
,
'as_javascript( undef, desc )'
);