From dc4a8227f8949694e4fc3f40bb0278d4b4713381 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 23 Apr 2014 10:50:08 +0000 Subject: t/feed: cleanup test and add test for /f/ link We already depend on IPC::Run, so just use it our tests. --- t/feed.t | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/t/feed.t b/t/feed.t index 3e1c6d7b..a6bffdcd 100644 --- a/t/feed.t +++ b/t/feed.t @@ -6,6 +6,7 @@ use Test::More; use Email::Simple; use PublicInbox::Feed; use PublicInbox::Config; +use IPC::Run qw/run/; use File::Temp qw/tempdir/; my $have_xml_feed = eval { require XML::Feed; 1 }; @@ -17,12 +18,6 @@ my $git_dir = "$tmpdir/gittest"; local $ENV{GIT_DIR} = $git_dir; foreach my $i (1..6) { - my $pid = open(my $pipe, "|-"); - defined $pid or die "fork/pipe failed: $!\n"; - if ($pid == 0) { - exec("ssoma-mda", $git_dir); - } - my $simple = Email::Simple->new(< To: U @@ -44,8 +39,9 @@ msg $i keep me EOF - print $pipe $simple->as_string or die "print failed: $!\n"; - close $pipe or die "close pipe failed: $!\n"; + my $str = $simple->as_string; + run(['ssoma-mda', $git_dir], \$str) or + die "mda failed: $?\n"; } } @@ -65,7 +61,10 @@ EOF is($p->id, 'public-inbox@example.com', "id is set to default"); } + unlike($feed, qr/drop me/, "long quoted text dropped"); + like($feed, qr!/f/\d%40example\.com\.html\b!, + "/f/ url generated for long quoted text"); like($feed, qr/inline me here/, "short quoted text kept"); like($feed, qr/keep me/, "unquoted text saved"); } @@ -108,13 +107,9 @@ EOF # nuke spam { - my $pid = open(my $pipe, "|-"); - defined $pid or die "fork/pipe failed: $!\n"; - if ($pid == 0) { - exec("ssoma-rm", $git_dir); - } - print $pipe $spam->as_string or die "print failed: $!\n"; - close $pipe or die "close pipe failed: $!\n"; + my $spam_str = $spam->as_string; + run(["ssoma-rm", $git_dir], \$spam_str) or + die "ssoma-rm failed: $?\n"; } # spam no longer shows up -- cgit v1.2.3-24-ge0c7