#!perl -w
# tests for Win32::GetLongPathName()
$^O =~ /^MSWin/ or print("1..0 # not win32\n" ), exit;
my @paths = qw(
/
//
.
..
c:
c:/
c:./
c:/.
c:/..
c:./..
//./
//.
//..
//./..
);
push @paths, map { my $x = $_; $x =~ s,/,\\,g; $x } @paths;
push @paths, qw(
../\
c:.\\../\
c:/\..//
c://.\/./\
\\.\\../\
//\..//
//.\/./\
);
my $drive = $ENV{SystemDrive};
if ($drive) {
for (@paths) {
s/^c:/$drive/;
}
push @paths, $ENV{SystemRoot} if $ENV{SystemRoot};
}
my %expect;
@expect{@paths} = map { my $x = $_; $x =~ s,(.[/\\])[/\\]+,$1,g; $x } @paths;
print "1.." . @paths . "\n";
my $i = 1;
for (@paths) {
my $got = Win32::GetLongPathName($_);
print "# '$_' => expect '$expect{$_}' => got '$got'\n";
print "not " unless $expect{$_} eq $got;
print "ok $i\n";
++$i;
}
|