X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Frgit.git;a=blobdiff_plain;f=t%2F15-failures.t;h=ea9881babb73b6fdd3eefe6c1c658e5c33462cdf;hp=765298955f82ce29d1857ff945a9d983ed6a2b45;hb=HEAD;hpb=20ecc90aa6c17a07fd1200d0bf72d5918e53e106 diff --git a/t/15-failures.t b/t/15-failures.t index 7652989..ea9881b 100644 --- a/t/15-failures.t +++ b/t/15-failures.t @@ -6,33 +6,57 @@ use warnings; use Cwd (); # cwd use File::Spec (); # catdir -use Test::More tests => 42; +use Test::More tests => 44; use App::Rgit; local $SIG{__WARN__} = sub { die @_ }; my $res = eval { - App::Rgit->new() + local $ENV{GIT_DIR}; + App::Rgit->new( + git => 't/bin/git', + ); +}; +is $@, '', "App::Rgit->new(): no root, no GIT_DIR: doesn't croak"; +isa_ok $res,'App::Rgit','App::Rgit->new(): no root, no GIT_DIR: returns object'; + +$res = eval { + local $ENV{GIT_DIR} = Cwd::cwd; + App::Rgit->new( + git => 't/bin/git', + ); }; -is $@, '', "App::Rgit->new(): no root: doesn't croak"; -is $res, undef, 'App::Rgit->new(): no root: returns undef'; +is $@, '', "App::Rgit->new(): no root: doesn't croak"; +isa_ok $res, 'App::Rgit', 'App::Rgit->new(): no root: returns object'; $res = eval { App::Rgit->new( root => $0, + git => 't/bin/git', + ); +}; +like $@, qr/Invalid root directory/, 'App::Rgit->new(): wrong root: croaks'; + +$res = eval { + local $ENV{GIT_EXEC_PATH}; + local $ENV{PATH} = 't/bin'; + App::Rgit->new( + root => 't', ); }; -is $@, '', "App::Rgit->new(): wrong root: doesn't croak"; -is $res, undef, 'App::Rgit->new(): wrong root: returns undef'; +is $@, '', "App::Rgit->new(): no git, no GIT_EXEC_PATH: doesn't croak"; +isa_ok $res, 'App::Rgit', + 'App::Rgit->new(): no git, no GIT_EXEC_PATH: returns object'; $res = eval { + local $ENV{GIT_EXEC_PATH} = 't/bin/git'; App::Rgit->new( root => 't', ); }; -is $@, '', "App::Rgit->new(): no git: doesn't croak"; -is $res, undef, 'App::Rgit->new(): no git: returns undef'; +is $@, '', "App::Rgit->new(): no git: doesn't croak"; +isa_ok $res, 'App::Rgit', 'App::Rgit->new(): no git: returns object'; $res = eval { App::Rgit->new( @@ -40,8 +64,8 @@ $res = eval { git => $0, ); }; -is $@, '', "App::Rgit->new(): wrong git: doesn't croak"; -is $res, undef, 'App::Rgit->new(): wrong git: returns undef'; +like $@, qr/Couldn't find a proper git executable/, + 'App::Rgit->new(): wrong git: croaks'; $res = eval { App::Rgit->new(