Plack-App-GitSmartHttp

 view release on metacpan or  search on metacpan

t/03_get_git_repo_dir.t  view on Meta::CPAN

use strict;
use Test::More;

use File::Which qw(which);
plan skip_all => 'could not find git' unless which('git');

use File::Spec::Functions qw(:ALL);
use File::Temp qw(tempdir);
use Plack::App::GitSmartHttp;

subtest "has root" => sub {
    my $root = tempdir;
    my $dir = catdir( $root, 'foo' );
    mkdir $dir;
    my $gsh = Plack::App::GitSmartHttp->new( root => $root );
    is( $gsh->get_git_repo_dir('foo'), $dir );
};

subtest "no root" => sub {
    my $dir = catdir( '.', 'foo' );
    mkdir $dir;
    my $gsh = Plack::App::GitSmartHttp->new();
    is( $gsh->get_git_repo_dir('foo'), rel2abs($dir) );
    rmdir $dir;
};

subtest "dir not found" => sub {
    my $root = tempdir;
    my $gsh = Plack::App::GitSmartHttp->new( root => $root );
    is( $gsh->get_git_repo_dir('foo'), undef );
};

done_testing;



( run in 0.384 second using v1.01-cache-2.11-cpan-140bd7fdf52 )