First cut at enclosures
[catagits/XML-Feed.git] / t / 13-enclosures.t
CommitLineData
12a4079f 1#!perl -w
2
3use strict;
4use Test::More;
5use XML::Feed;
6use XML::Feed::Enclosure;
7
8my @formats = qw(atom rss20);
9plan tests => scalar(@formats)*22;
10
11foreach my $format (@formats) {
12 ok (my $feed = XML::Feed->parse("t/samples/$format-enclosure.xml"), "Parsed $format");
13 my ($entry) = $feed->entries;
14 ok (my $enclosure = $entry->enclosure, "Got enclosure");
15 ok ($enclosure->isa("XML::Feed::Enclosure"), "Object isa XML::Feed::Enclosure");
16 is ($enclosure->type, "audio/mpeg", "Got the enclosure mime type");
17 is ($enclosure->length, "2478719", "Got enclosure length");
18 is ($enclosure->url, "http://example.com/sample_podcast.mp3", "Got enclosure url");
19
20 ok (my $tmp = XML::Feed::Enclosure->new({ type => "image/jpeg" }), "Created a new enclosure");
21 is ($tmp->type, "image/jpeg", "Got type back");
22 ok ($tmp->url("http://example.com/sample_image.jpg"), "Set url");
23 ok ($tmp->length("1337"), "Set length");
24 ok ($entry->enclosure($tmp), "Set the enclosure");
25
26 ok ($enclosure = $entry->enclosure, "Got enclosure again");
27 ok ($enclosure->isa("XML::Feed::Enclosure"), "Object still isa XML::Feed::Enclosure");
28 is ($enclosure->type, "image/jpeg", "Got the enclosure mime type");
29 is ($enclosure->length, "1337", "Got enclosure length again");
30 is ($enclosure->url, "http://example.com/sample_image.jpg", "Got enclosure url again");
31
32 my $xml = $feed->as_xml;
33 ok ($feed = XML::Feed->parse(\$xml), "Parsed xml again");
34 ok ($enclosure = $entry->enclosure, "Got enclosure again");
35 ok ($enclosure->isa("XML::Feed::Enclosure"), "Object still isa XML::Feed::Enclosure");
36 is ($enclosure->type, "image/jpeg", "Got the enclosure mime type");
37 is ($enclosure->length, "1337", "Got enclosure length again");
38 is ($enclosure->url, "http://example.com/sample_image.jpg", "Got enclosure url again");
39
40
41}