forked from schacon/perl
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add tests for VMS-Unix file syntax conversion routines
- Loading branch information
Perl 5 Porters
authored and
Charles Bailey
committed
Jun 27, 1996
1 parent
60618c0
commit acbb349
Showing
1 changed file
with
88 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
#!./perl | ||
|
||
use VMS::Filespec; | ||
|
||
foreach (<DATA>) { | ||
chomp; | ||
s/\s*#.*//; | ||
next if /^\s*$/; | ||
push(@tests,$_); | ||
} | ||
print '1..',scalar(@tests)+1,"\n"; | ||
|
||
foreach $test (@tests) { | ||
($arg,$func,$expect) = split(/\t+/,$test); | ||
$idx++; | ||
$rslt = eval "$func('$arg')"; | ||
if ($@) { print "not ok $idx : eval error: $@\n"; next; } | ||
else { | ||
if ($rslt ne $expect) { | ||
print "not ok $idx : $func('$arg') expected |$expect|, got |$rslt|\n"; | ||
} | ||
else { print "ok $idx\n"; } | ||
} | ||
} | ||
|
||
print +(rmsexpand('[]') eq "\U$ENV{DEFAULT}" ? 'ok ' : 'not ok '),++$idx,"\n"; | ||
|
||
__DATA__ | ||
# Basic VMS to Unix filespecs | ||
some:[where.over]the.rainbow unixify /some/where/over/the.rainbow | ||
[.some.where.over]the.rainbow unixify some/where/over/the.rainbow | ||
[-.some.where.over]the.rainbow unixify ../some/where/over/the.rainbow | ||
[.some.--.where.over]the.rainbow unixify some/../../where/over/the.rainbow | ||
[] unixify ./ | ||
[-] unixify ../ | ||
[--] unixify ../../ | ||
# and back again | ||
/some/where/over/the.rainbow vmsify some:[where.over]the.rainbow | ||
some/where/over/the.rainbow vmsify [.some.where.over]the.rainbow | ||
../some/where/over/the.rainbow vmsify [-.some.where.over]the.rainbow | ||
some/../../where/over/the.rainbow vmsify [-.where.over]the.rainbow | ||
. vmsify [] | ||
.. vmsify [-] | ||
../.. vmsify [--] | ||
# Fileifying directory specs | ||
down:[the.garden.path] fileify down:[the.garden]path.dir;1 | ||
[.down.the.garden.path] fileify [.down.the.garden]path.dir;1 | ||
/down/the/garden/path fileify /down/the/garden/path.dir;1 | ||
/down/the/garden/path/ fileify /down/the/garden/path.dir;1 | ||
down/the/garden/path fileify down/the/garden/path.dir;1 | ||
down:[the.garden]path fileify down:[the.garden]path.dir;1 | ||
down:[the.garden]path. fileify # N.B. trailing . ==> null type | ||
down:[the]garden.path fileify | ||
/down/the/garden/path. fileify # N.B. trailing . ==> null type | ||
/down/the/garden.path fileify | ||
# and pathifying them | ||
down:[the.garden]path.dir;1 pathify down:[the.garden.path] | ||
[.down.the.garden]path.dir pathify [.down.the.garden.path] | ||
/down/the/garden/path.dir pathify /down/the/garden/path/ | ||
down/the/garden/path.dir pathify down/the/garden/path/ | ||
down:[the.garden]path pathify down:[the.garden.path] | ||
down:[the.garden]path. pathify # N.B. trailing . ==> null type | ||
down:[the]garden.path pathify | ||
/down/the/garden/path. pathify # N.B. trailing . ==> null type | ||
/down/the/garden.path pathify | ||
down:[the.garden]path.dir;2 pathify #N.B. ;2 | ||
path pathify path/ | ||
path.notdir pathify | ||
# Both VMS/Unix and file/path conversions | ||
down:[the.garden]path.dir;1 unixpath /down/the/garden/path/ | ||
/down/the/garden/path vmspath down:[the.garden.path] | ||
down:[the.garden.path] unixpath /down/the/garden/path/ | ||
/down/the/garden/path.dir vmspath down:[the.garden.path] | ||
[.down.the.garden]path.dir unixpath down/the/garden/path/ | ||
down/the/garden/path vmspath [.down.the.garden.path] | ||
path vmspath [.path] | ||
# Redundant characters in Unix paths | ||
/some/where//over/./the.rainbow vmsify some:[where.over]the.rainbow | ||
..//../ vmspath [--] | ||
./././ vmspath [] | ||
./../. vmsify [-] | ||