diff options
author | Eric Wong <e@80x24.org> | 2015-08-22 08:00:37 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2015-08-22 08:01:53 +0000 |
commit | 1761fba7befab2681276ac8f123593610ad27e58 (patch) | |
tree | 2725fdbd3691a8f00310e9e9ebf96de2deb321ca /t/feed.t | |
parent | 797ba8046562864a09ed36e6040055babb536615 (diff) | |
download | public-inbox-1761fba7befab2681276ac8f123593610ad27e58.tar.gz |
We will attempt to generate Atom feeds "by hand" as the XML::Atom::SimpleFeed API does not support streaming output. Since email is large and servers are small, this should prevent wasting memory when we generate larger feeds. Of course, we hope clients use SAX parsers capable of handling large streams without slurping.
Diffstat (limited to 't/feed.t')
-rw-r--r-- | t/feed.t | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -9,6 +9,11 @@ use PublicInbox::Config; use IPC::Run qw/run/; use File::Temp qw/tempdir/; my $have_xml_feed = eval { require XML::Feed; 1 }; +require 't/common.perl'; + +sub string_feed { + stream_to_string(PublicInbox::Feed::generate($_[0])); +} my $tmpdir = tempdir(CLEANUP => 1); my $git_dir = "$tmpdir/gittest"; @@ -58,7 +63,7 @@ EOF { # check initial feed { - my $feed = PublicInbox::Feed->generate({ + my $feed = string_feed({ git_dir => $git_dir, max => 3 }); @@ -101,7 +106,7 @@ EOF # check spam shows up { - my $spammy_feed = PublicInbox::Feed->generate({ + my $spammy_feed = string_feed({ git_dir => $git_dir, max => 3 }); @@ -123,7 +128,7 @@ EOF # spam no longer shows up { - my $feed = PublicInbox::Feed->generate({ + my $feed = string_feed({ git_dir => $git_dir, max => 3 }); @@ -140,7 +145,7 @@ EOF # check pi_config { foreach my $addr (('a@example.com'), ['a@example.com','b@localhost']) { - my $feed = PublicInbox::Feed->generate({ + my $feed = string_feed({ git_dir => $git_dir, max => 3, listname => 'asdf', |