X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Frgit.git;a=blobdiff_plain;f=t%2F21-once.t;h=5333be0748f5ac86b2c19dc4022a70fbfe7646bb;hp=cf790462518946c8018d767f50dce2bf322c88ff;hb=cbafb1b35c3e76d6a7cf1628c83f08e64d3f3c5c;hpb=19bee8f647bfe6c94c5cb3cf6a60d7a43cbca222 diff --git a/t/21-once.t b/t/21-once.t index cf79046..5333be0 100644 --- a/t/21-once.t +++ b/t/21-once.t @@ -6,25 +6,32 @@ use warnings; use Cwd qw/abs_path/; use File::Temp qw/tempfile/; -use Test::More tests => 4 * 2; +use Test::More tests => 9 * 5; use App::Rgit; my @expected = ( - ([ [ qw/^n ^g ^w ^b ^^/ ] ]) x 4 + ([ [ qw/@n @g @w @b @@/ ] ]) x 5 ); -for (qw/version help daemon init/) { +local $ENV{GIT_DIR} = 't'; +local $ENV{GIT_EXEC_PATH} = abs_path('t/bin/git'); + +for my $cmd (qw/daemon gui help init version/) { my ($fh, $filename) = tempfile(UNLINK => 1); - my $exit = App::Rgit->new( - git => abs_path('t/bin/git'), - root => 't/repos', - cmd => $_, - args => [ abs_path($filename), $_, qw/^n ^g ^w ^b ^^/ ] - )->run; - is($exit, 0, "each $_ returned 0"); + my $ar = App::Rgit->new( + git => $ENV{GIT_EXEC_PATH}, + root => $ENV{GIT_DIR}, + cmd => $cmd, + args => [ abs_path($filename), $cmd, qw/@n @g @w @b @@/ ] + ); + isnt($ar, undef, "once $cmd has a defined object"); + my $exit = $ar->run; + is($exit, 0, "once $cmd returned 0"); my @lines = sort split /\n/, do { local $/; <$fh> }; - my $res = [ map [ split /\|/, $_ ], @lines ]; - my $exp = [ [ $_, qw/^n ^g ^w ^b ^^/ ] ]; - is_deeply($res, $exp, "each $_ did the right thing"); + is(@lines, 1, "once $cmd visited only one repo"); + my $r = [ split /\|/, defined $lines[0] ? $lines[0] : '' ]; + my $e = [ $cmd, qw/@n @g @w @b @@/ ]; + is($r->[$_], $e->[$_], "once $cmd argument $_ is ok") + for 0 .. 5; }