X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fsender.t;h=964673e1b6ec50a8563e42d0a2e23b12bdaeae56;hb=send-from-fatpack;hp=de163df15a6e2d5ab5669bc5ab2a60e87ef7274c;hpb=fc87e2b35b58d1fa8cd72a895a01fdf25680f0cc;p=scpubgit%2FObject-Remote.git diff --git a/t/sender.t b/t/sender.t index de163df..964673e 100644 --- a/t/sender.t +++ b/t/sender.t @@ -25,7 +25,7 @@ sub TestModuleProvider::INC { my ($self, $module) = @_; if (my $data = $self->{modules}{$module}) { open my $fh, '<', \$data - or die "welp $!"; + or die "Unable to open in-memory file: $!"; return $fh; } return; @@ -36,7 +36,7 @@ my %sources = ( sub => [ sub { if (my $data = $modules->{$_[1]}) { open my $fh, '<', \$data - or die "welp $!"; + or die "Unable to open in-memory file: $!"; return $fh; } return; @@ -45,12 +45,37 @@ my %sources = ( my $mods = $_[0][1]; if (my $data = $mods->{$_[1]}) { open my $fh, '<', \$data - or die "welp $!"; + or die "Unable to open in-memory file: $!"; return $fh; } return; }, $modules ] ], object => [ bless { modules => $modules }, 'TestModuleProvider' ], + filter_sub => [ sub { + if (my $data = $modules->{$_[1]}) { + my @lines = split /\n/, $data; + my $read = join("\n", 0..$#lines); + open my $fh, '<', \$read + or die "welp $!"; + return ($fh, sub { + chomp; + my $ret = $_ != $#lines ? 1 : 0; + $_ = $lines[$_]; + return $ret; + }); + } + return; + } ], + feed_sub => [ sub { + if (my $data = $modules->{$_[1]}) { + my @lines = split /(\n)/, $data; + return sub { + $_ = shift @lines; + return @lines ? 1 : 0; + }; + } + return; + } ], ); for my $source (sort keys %sources) {