From: Christian Walde Date: Sun, 29 May 2011 21:34:58 +0000 (+0200) Subject: paths need to be nativized uniformly X-Git-Tag: 0.003005~6 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FGitalist.git;a=commitdiff_plain;h=7b5bdee05283b67c7ee10d8c150ab19fec335541 paths need to be nativized uniformly --- diff --git a/t/02git_CollectionOfRepositories_FromDirectory.t b/t/02git_CollectionOfRepositories_FromDirectory.t index 2b3417e..69c8127 100644 --- a/t/02git_CollectionOfRepositories_FromDirectory.t +++ b/t/02git_CollectionOfRepositories_FromDirectory.t @@ -11,11 +11,12 @@ use warnings; use Test::More qw/no_plan/; use Test::Exception; +use Path::Class 'dir'; use Data::Dumper; BEGIN { use_ok 'Gitalist::Git::CollectionOfRepositories::FromDirectory' } -my $repo_dir = "$Bin/lib/repositories"; +my $repo_dir = dir( "$Bin/lib/repositories" ); my $repo = Gitalist::Git::CollectionOfRepositories::FromDirectory->new( repo_dir => $repo_dir ); isa_ok($repo, 'Gitalist::Git::CollectionOfRepositories::FromDirectory'); diff --git a/t/02git_CollectionOfRepositories_FromDirectoryRecursive.t b/t/02git_CollectionOfRepositories_FromDirectoryRecursive.t index 458dae8..4bd5799 100644 --- a/t/02git_CollectionOfRepositories_FromDirectoryRecursive.t +++ b/t/02git_CollectionOfRepositories_FromDirectoryRecursive.t @@ -11,10 +11,11 @@ use warnings; use Test::More qw/no_plan/; use Test::Exception; use Path::Class::Dir; +use Path::Class qw' file dir '; BEGIN { use_ok 'Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive' } -my $repo_dir = "$Bin/lib/repositories"; +my $repo_dir = dir( "$Bin/lib/repositories" ); my $repo = Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive->new( repo_dir => $repo_dir ); isa_ok($repo, 'Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive'); @@ -25,29 +26,32 @@ is($repo->repo_dir, $repo_dir, "repo->repo_dir is correct" ); my $repository_list = $repo->repositories; is( scalar @{$repository_list}, 6, '->repositories is an array with the correct number of members' ); isa_ok($repository_list->[0], 'Gitalist::Git::Repository'); +my @expected_names = sort map file($_)->stringify, qw( bare.git recursive/barerecursive.git nodescription repo1 recursive/goingdeeper/scratch.git recursive/goingdeeper2/scratch.git); my @sorted_names = sort map { $_->{name} } @{$repository_list}; -is_deeply( \@sorted_names, [ sort qw( bare.git recursive/barerecursive.git nodescription repo1 recursive/goingdeeper/scratch.git recursive/goingdeeper2/scratch.git) ], 'Repositories are correctly loaded' ); +is_deeply( \@sorted_names, \@expected_names , 'Repositories are correctly loaded' ); + +my $get_repo_from_native_name = sub { $repo->get_repository( dir( $_[0] )->stringify ) }; dies_ok { - my $repository = $repo->get_repository("NoSuchRepository"); + my $repository = $get_repo_from_native_name->( "NoSuchRepository" ); } 'throws exception for invalid repository'; dies_ok { - my $repository = $repo->get_repository(); + my $repository = $repo->get_repository; } 'throws exception for no repository'; dies_ok { - my $repository = $repo->get_repository('../../../'); + my $repository = $get_repo_from_native_name->( '../../../' ); } 'Relative directory not contained within repo_dir'; -my $repository = $repo->get_repository( "repo1" ); +my $repository = $get_repo_from_native_name->( "repo1" ); isa_ok($repository, 'Gitalist::Git::Repository'); -$repository = $repo->get_repository( "recursive/goingdeeper/scratch.git" ); +$repository = $get_repo_from_native_name->( "recursive/goingdeeper/scratch.git" ); isa_ok($repository, 'Gitalist::Git::Repository'); cmp_ok($repository->description, 'eq', 'goingdeeper/scratch.git repo', 'Got the right repo'); -$repository = $repo->get_repository( "recursive/goingdeeper2/scratch.git" ); +$repository = $get_repo_from_native_name->( "recursive/goingdeeper2/scratch.git" ); isa_ok($repository, 'Gitalist::Git::Repository'); cmp_ok($repository->description, 'eq', 'goingdeeper2/scratch.git repo', 'Got the right repo'); @@ -58,5 +62,5 @@ lives_ok { my $repo2_dir = "$Bin/lib/../lib/repositories"; my $repo2 = Gitalist::Git::CollectionOfRepositories::FromDirectoryRecursive->new( repo_dir => $repo2_dir ); - my $repo2_proj = $repo2->get_repository("repo1"); + my $repo2_proj = $repo2->get_repository( dir( "repo1" )->stringify ); } 'relative repo_dir properly handled';