git-svn: add join_paths() to safely concatenate paths
[alt-git.git] / t / Git-SVN / Utils / join_paths.t
blobd4488e7162cfea4c8801c1873372e3f7615a80e7
1 #!/usr/bin/env perl
3 use strict;
4 use warnings;
6 use Test::More 'no_plan';
8 use Git::SVN::Utils qw(
9 join_paths
12 # A reference cannot be a hash key, so we use an array.
13 my @tests = (
14 [] => '',
15 ["/x.com", "bar"] => '/x.com/bar',
16 ["x.com", ""] => 'x.com',
17 ["/x.com/foo/", undef, "bar"] => '/x.com/foo/bar',
18 ["x.com/foo/", "/bar/baz/"] => 'x.com/foo/bar/baz/',
19 ["foo", "bar"] => 'foo/bar',
20 ["/foo/bar", "baz", "/biff"] => '/foo/bar/baz/biff',
21 ["", undef, "."] => '.',
22 [] => '',
26 while(@tests) {
27 my($have, $want) = splice @tests, 0, 2;
29 my $args = join ", ", map { qq['$_'] } map { defined($_) ? $_ : 'undef' } @$have;
30 my $name = "join_paths($args) eq '$want'";
31 is join_paths(@$have), $want, $name;