Commit | Line | Data |
8883bb5a |
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 |