]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/feed.t
t/feed: notify user of missing XML::Feed
[public-inbox.git] / t / feed.t
index d16373ae0f40a8797d639d5d1bd254e376946b54..379f8d398fbcead3e31b899af73a3e303bc00412 100644 (file)
--- a/t/feed.t
+++ b/t/feed.t
@@ -29,11 +29,17 @@ Message-Id: <$i\@example.com>
 Subject: zzz #$i
 Date: Thu, 01 Jan 1970 00:00:00 +0000
 
-> drop me
+> This is a long multi line quote so it should not be allowed to
+> show up in its entirty in the Atom feed.  drop me
+> I quote to much
+> I quote to much
+> I quote to much
+> I quote to much
 
 msg $i
 
-> drop me again
+> inline me here
+> this is a short quote
 
 keep me
 EOF
@@ -43,13 +49,18 @@ EOF
 
        # check initial feed
        {
-               my $feed = PublicInbox::Feed->generate($git_dir, 3);
-               if ($have_xml_feed) {
+               my $feed = PublicInbox::Feed->generate({
+                       git_dir => $git_dir,
+                       max => 3
+               });
+               SKIP: {
+                       skip 'XML::Feed missing', 2 unless $have_xml_feed;
                        my $p = XML::Feed->parse(\$feed);
                        is($p->format, "Atom", "parsed atom feed");
                        is(scalar $p->entries, 3, "parsed three entries");
                }
-               unlike($feed, qr/drop me/, "quoted text dropped");
+               unlike($feed, qr/drop me/, "long quoted text dropped");
+               like($feed, qr/inline me here/, "short quoted text kept");
                like($feed, qr/keep me/, "unquoted text saved");
        }
 
@@ -76,8 +87,12 @@ EOF
 
        # check spam shows up
        {
-               my $spammy_feed = PublicInbox::Feed->generate($git_dir, 3);
-               if ($have_xml_feed) {
+               my $spammy_feed = PublicInbox::Feed->generate({
+                       git_dir => $git_dir,
+                       max => 3
+               });
+               SKIP: {
+                       skip 'XML::Feed missing', 2 unless $have_xml_feed;
                        my $p = XML::Feed->parse(\$spammy_feed);
                        is($p->format, "Atom", "parsed atom feed");
                        is(scalar $p->entries, 3, "parsed three entries");
@@ -98,8 +113,12 @@ EOF
 
        # spam no longer shows up
        {
-               my $feed = PublicInbox::Feed->generate($git_dir, 3);
-               if ($have_xml_feed) {
+               my $feed = PublicInbox::Feed->generate({
+                       git_dir => $git_dir,
+                       max => 3
+               });
+               SKIP: {
+                       skip 'XML::Feed missing', 2 unless $have_xml_feed;
                        my $p = XML::Feed->parse(\$feed);
                        is($p->format, "Atom", "parsed atom feed");
                        is(scalar $p->entries, 3, "parsed three entries");