This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Move Win32 from ext/ to cpan/
[perl5.git] / cpan / Win32 / t / GetLongPathName.t
diff --git a/cpan/Win32/t/GetLongPathName.t b/cpan/Win32/t/GetLongPathName.t
new file mode 100644 (file)
index 0000000..9269346
--- /dev/null
@@ -0,0 +1,54 @@
+use strict;
+use Test;
+use Win32;
+
+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 =~ s,^(\w):,\U$1:,;
+                        $x } @paths;
+
+plan tests => scalar(@paths);
+
+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;
+}