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";
 | 
						|
}
 |