11 print '1..',scalar(@tests)+3,"\n";
13 foreach $test (@tests) {
14 ($arg,$func,$expect) = split(/\t+/,$test);
16 $rslt = eval "$func('$arg')";
17 if ($@) { print "not ok $idx : eval error: $@\n"; next; }
19 if ($rslt ne $expect) {
20 print "not ok $idx : $func('$arg') expected |$expect|, got |$rslt|\n";
22 else { print "ok $idx\n"; }
26 print +(rmsexpand('[]') eq "\U$ENV{DEFAULT}" ? 'ok ' : 'not ok '),++$idx,"\n";
27 print +(rmsexpand('from.here') eq "\L$ENV{DEFAULT}from.here" ?
28 'ok ' : 'not ok '),++$idx,"\n";
29 print +(rmsexpand('from.here','cant:[get.there];2') eq
30 'cant:[get.there]from.here;2' ? 'ok ' : 'not ok '),++$idx,"\n";
34 # Basic VMS to Unix filespecs
35 some:[where.over]the.rainbow unixify /some/where/over/the.rainbow
36 [.some.where.over]the.rainbow unixify some/where/over/the.rainbow
37 [-.some.where.over]the.rainbow unixify ../some/where/over/the.rainbow
38 [.some.--.where.over]the.rainbow unixify some/../../where/over/the.rainbow
44 /some/where/over/the.rainbow vmsify some:[where.over]the.rainbow
45 some/where/over/the.rainbow vmsify [.some.where.over]the.rainbow
46 ../some/where/over/the.rainbow vmsify [-.some.where.over]the.rainbow
47 some/../../where/over/the.rainbow vmsify [-.where.over]the.rainbow
52 # Fileifying directory specs
53 down:[the.garden.path] fileify down:[the.garden]path.dir;1
54 [.down.the.garden.path] fileify [.down.the.garden]path.dir;1
55 /down/the/garden/path fileify /down/the/garden/path.dir;1
56 /down/the/garden/path/ fileify /down/the/garden/path.dir;1
57 down/the/garden/path fileify down/the/garden/path.dir;1
58 down:[the.garden]path fileify down:[the.garden]path.dir;1
59 down:[the.garden]path. fileify # N.B. trailing . ==> null type
60 down:[the]garden.path fileify
61 /down/the/garden/path. fileify # N.B. trailing . ==> null type
62 /down/the/garden.path fileify
65 down:[the.garden]path.dir;1 pathify down:[the.garden.path]
66 [.down.the.garden]path.dir pathify [.down.the.garden.path]
67 /down/the/garden/path.dir pathify /down/the/garden/path/
68 down/the/garden/path.dir pathify down/the/garden/path/
69 down:[the.garden]path pathify down:[the.garden.path]
70 down:[the.garden]path. pathify # N.B. trailing . ==> null type
71 down:[the]garden.path pathify
72 /down/the/garden/path. pathify # N.B. trailing . ==> null type
73 /down/the/garden.path pathify
74 down:[the.garden]path.dir;2 pathify #N.B. ;2
78 # Both VMS/Unix and file/path conversions
79 down:[the.garden]path.dir;1 unixpath /down/the/garden/path/
80 /down/the/garden/path vmspath down:[the.garden.path]
81 down:[the.garden.path] unixpath /down/the/garden/path/
82 /down/the/garden/path.dir vmspath down:[the.garden.path]
83 [.down.the.garden]path.dir unixpath down/the/garden/path/
84 down/the/garden/path vmspath [.down.the.garden.path]
87 # Redundant characters in Unix paths
88 //some/where//over/../the.rainbow vmsify some:[where]the.rainbow
89 /some/where//over/./the.rainbow vmsify some:[where.over]the.rainbow