Commit | Line | Data |
12a4079f |
1 | #!perl -w |
2 | |
3 | use strict; |
4 | use Test::More; |
5 | use XML::Feed; |
6 | use XML::Feed::Enclosure; |
7 | |
8 | my @formats = qw(atom rss20); |
9 | plan tests => scalar(@formats)*22; |
10 | |
11 | foreach 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 | } |