1#!/usr/bin/perl
2use strict;
3use warnings;
4
5use Test::More tests => 4;
6use XML::RSS;
7
8{
9    my $rss = XML::RSS->new( version => '2.0' );
10    $rss->channel(
11        link => "http://www.homesite.tld/",
12        description => "My homesite",
13        title => "With content",
14    );
15    $rss->add_module(
16            prefix => 'content',
17            uri => 'http://purl.org/rss/1.0/modules/content/'
18        );
19    $rss->add_item(
20            title   => 'title',
21            content => { encoded => 'this is content' },
22        );
23
24    # TEST
25    like $rss->as_string, qr/this is content/;
26}
27
28{
29    my $rss = XML::RSS->new( version => '2.0' );
30    eval {
31        $rss->add_module(
32            prefix => 'a/b',
33            uri => 'http://foobar.tld/foo/'
34        );
35    };
36    # TEST
37    like ($@, qr{\Aa namespace prefix should look like},
38        "Testing for invalidty of / as a prefix char");
39}
40
41{
42    my $rss = XML::RSS->new( version => '2.0' );
43    eval {
44        $rss->add_module(
45            prefix => "myprefix",
46        );
47    };
48    # TEST
49    like ($@, qr{\Aa URI must be provided},
50        "Testing for exception upon an unspecified URI.");
51}
52
53{
54    my $rss = XML::RSS->new( version => '2.0' );
55    # TEST
56    ok($rss->add_module(prefix=>'creativeCommons', uri=>'http://backend.userland.com/creativeCommonsRssModule'),"Added namespace with uppercase letters in prefix");
57}
58