Update IPC::Cmd to cpan version 0.54
[p5sagit/p5-mst-13.2.git] / cpan / Win32 / t / GetLongPathName.t
1 use strict;\r
2 use Test;\r
3 use Win32;\r
4 \r
5 my @paths = qw(\r
6     /\r
7     //\r
8     .\r
9     ..\r
10     c:\r
11     c:/\r
12     c:./\r
13     c:/.\r
14     c:/..\r
15     c:./..\r
16     //./\r
17     //.\r
18     //..\r
19     //./..\r
20 );\r
21 push @paths, map { my $x = $_; $x =~ s,/,\\,g; $x } @paths;\r
22 push @paths, qw(\r
23     ../\\r
24     c:.\\../\\r
25     c:/\..//\r
26     c://.\/./\\r
27     \\.\\../\\r
28     //\..//\r
29     //.\/./\\r
30 );\r
31 \r
32 my $drive = $ENV{SYSTEMDRIVE};\r
33 if ($drive) {\r
34     for (@paths) {\r
35         s/^c:/$drive/;\r
36     }\r
37     push @paths, $ENV{SYSTEMROOT} if $ENV{SYSTEMROOT};\r
38 }\r
39 my %expect;\r
40 @expect{@paths} = map { my $x = $_;\r
41                         $x =~ s,(.[/\\])[/\\]+,$1,g;\r
42                         $x =~ s,^(\w):,\U$1:,;\r
43                         $x } @paths;\r
44 \r
45 plan tests => scalar(@paths);\r
46 \r
47 my $i = 1;\r
48 for (@paths) {\r
49     my $got = Win32::GetLongPathName($_);\r
50     print "# '$_' => expect '$expect{$_}' => got '$got'\n";\r
51     print "not " unless $expect{$_} eq $got;\r
52     print "ok $i\n";\r
53     ++$i;\r
54 }\r