File: 44_cdata.t

package info (click to toggle)
libxml-feedpp-perl 0.95-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 400 kB
  • sloc: perl: 1,877; sh: 28; makefile: 2
file content (58 lines) | stat: -rw-r--r-- 2,341 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# ----------------------------------------------------------------
    use strict;
    use Test::More tests => 57;
    BEGIN { use_ok('XML::FeedPP') };
# ----------------------------------------------------------------
    my $flink  = "http://www.kawa.net/";
    my $ilink  = "http://kawanet.blogspot.com/";
    my $ftitle = "hoge";
    my $ititle = "pomu";
    my $fdesc  = "foo";
    my $idesc  = "bar";
# ----------------------------------------------------------------
    my $feeds = [
        XML::FeedPP::RDF->new(),
        XML::FeedPP::RSS->new(),
        XML::FeedPP::Atom::Atom03->new(),
        XML::FeedPP::Atom::Atom10->new(),
    ];
# ----------------------------------------------------------------
    foreach my $feed1 ( @$feeds ) {
        my $type = ref $feed1;
        
        $feed1->link($flink);
        $feed1->title(\$ftitle);
        $feed1->description(\$fdesc);        

        my $item1 = $feed1->add_item($ilink);
        $item1->link($ilink);
        $item1->title(\$ititle);
        $item1->description(\$idesc);

        my $source = $feed1->to_string();
        my $feed2 = XML::FeedPP ->new($source);
        my $item2 = $feed2->get_item(0);

        is( $feed1->link(), $flink, "$type feed link");
        is( $feed1->title(), $ftitle, "$type feed title");
        is( $feed1->description(), $fdesc, "$type feed description");
        
        like( $source, qr/<!\[CDATA\[\Q$ftitle\E\]\]>/s, "$type feed title source" );
        like( $source, qr/<!\[CDATA\[\Q$fdesc\E\]\]>/s, "$type feed description source" );

        is( $feed2->title(), $ftitle, "$type feed title back");
        is( $feed2->description(), $fdesc, "$type feed description back");

        is( $item1->link(), $ilink, "$type item link");
        is( $item1->title(), $ititle, "$type item title");
        is( $item1->description(), $idesc, "$type item description");

        like( $source, qr/<!\[CDATA\[\Q$ititle\E\]\]>/s, "$type item title source" );
        like( $source, qr/<!\[CDATA\[\Q$idesc\E\]\]>/s, "$type item description source" );

        is( $item2->title(), $ititle, "$type item title back");
        is( $item2->description(), $idesc, "$type item description back");
    }
# ----------------------------------------------------------------
;1;
# ----------------------------------------------------------------