File: GetShortPathName.t

package info (click to toggle)
perl 5.42.0-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 128,392 kB
  • sloc: perl: 534,963; ansic: 240,563; sh: 72,042; pascal: 6,934; xml: 2,428; yacc: 1,360; makefile: 1,197; cpp: 208; lisp: 1
file content (30 lines) | stat: -rw-r--r-- 709 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use strict;
use Test;
use Win32;

BEGIN {
    Win32::CreateFile("8dot3test_canary_GetShortPathName $$");
    my $canary = Win32::GetShortPathName("8dot3test_canary_GetShortPathName $$");
    unlink("8dot3test_canary_GetShortPathName $$");
    if ( length $canary > 12 ) {
        print "1..0 # Skip: The system and/or current volume is not configured to support short names.\n";
        exit 0;        
    }
}

my $path = "Long Path $$";
unlink($path);
END { unlink $path }

plan tests => 5;

Win32::CreateFile($path);
ok(-f $path);

my $short = Win32::GetShortPathName($path);
ok($short, qr/^\S{1,8}(\.\S{1,3})?$/);
ok(-f $short);

unlink($path);
ok(!-f $path);
ok(!defined Win32::GetShortPathName($path));