]>
Commit | Line | Data |
---|---|---|
ca475a61 MS |
1 | #!/usr/bin/env perl |
2 | ||
3 | use strict; | |
4 | use warnings; | |
5 | ||
6 | use Test::More 'no_plan'; | |
7 | ||
8 | use Git::SVN::Utils qw( | |
9 | join_paths | |
10 | ); | |
11 | ||
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 | [] => '', | |
23 | ||
24 | ); | |
25 | ||
26 | while(@tests) { | |
27 | my($have, $want) = splice @tests, 0, 2; | |
28 | ||
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; | |
32 | } |