280ad88aa0
The SVN API functions will not accept ../foo but their canonicalization functions will not collapse it. So we'll have to do it ourselves. _collapse_dotdot() works better than the existing regex did. This will be used shortly when canonicalize_path() starts using the SVN API. [ew: commit title] Signed-off-by: Eric Wong <normalperson@yhbt.net>
24 lines
462 B
Perl
24 lines
462 B
Perl
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Test::More 'no_plan';
|
|
|
|
use Git::SVN::Utils;
|
|
my $collapse_dotdot = \&Git::SVN::Utils::_collapse_dotdot;
|
|
|
|
my %tests = (
|
|
"foo/bar/baz" => "foo/bar/baz",
|
|
".." => "..",
|
|
"foo/.." => "",
|
|
"/foo/bar/../../baz" => "/baz",
|
|
"deeply/.././deeply/nested" => "./deeply/nested",
|
|
);
|
|
|
|
for my $arg (keys %tests) {
|
|
my $want = $tests{$arg};
|
|
|
|
is $collapse_dotdot->($arg), $want, "_collapse_dotdot('$arg') => $want";
|
|
}
|