Commit | Line | Data |
---|---|---|
a687059c LW |
1 | #!./perl |
2 | ||
72b16652 GS |
3 | BEGIN { |
4 | chdir 't' if -d 't'; | |
20822f61 | 5 | @INC = '../lib'; |
72b16652 | 6 | } |
a687059c | 7 | |
ed2962a1 | 8 | print "1..9\n"; |
a687059c | 9 | |
0a753a76 | 10 | @oops = @ops = <op/*>; |
a687059c | 11 | |
68dc0745 | 12 | if ($^O eq 'MSWin32') { |
3cd616b9 | 13 | map { $files{lc($_)}++ } <op/*>; |
6d0cc0d7 | 14 | map { delete $files{"op/$_"} } split /[\s\n]/, `dir /b /l op & dir /b /l /ah op 2>nul`, |
68dc0745 | 15 | } |
0405c3f2 CB |
16 | elsif ($^O eq 'VMS') { |
17 | map { $files{lc($_)}++ } <[.op]*>; | |
18 | map { s/;.*$//; delete $files{lc($_)}; } split /[\n]/, `directory/noheading/notrailing/versions=1 [.op]`, | |
19 | } | |
68dc0745 | 20 | else { |
3cd616b9 | 21 | map { $files{$_}++ } <op/*>; |
68dc0745 | 22 | map { delete $files{$_} } split /[\s\n]/, `echo op/*`; |
23 | } | |
adbc4883 CB |
24 | if (keys %files) { |
25 | print "not ok 1\t(",join(' ', sort keys %files),"\n"; | |
26 | } else { print "ok 1\n"; } | |
a687059c LW |
27 | |
28 | print $/ eq "\n" ? "ok 2\n" : "not ok 2\n"; | |
29 | ||
fe14fcc3 | 30 | while (<jskdfjskdfj* op/* jskdjfjkosvk*>) { |
a687059c LW |
31 | $not = "not " unless $_ eq shift @ops; |
32 | $not = "not at all " if $/ eq "\0"; | |
33 | } | |
34 | print "${not}ok 3\n"; | |
35 | ||
36 | print $/ eq "\n" ? "ok 4\n" : "not ok 4\n"; | |
0a753a76 | 37 | |
38 | # test the "glob" operator | |
39 | $_ = "op/*"; | |
40 | @glops = glob $_; | |
41 | print "@glops" eq "@oops" ? "ok 5\n" : "not ok 5\n"; | |
42 | ||
43 | @glops = glob; | |
44 | print "@glops" eq "@oops" ? "ok 6\n" : "not ok 6\n"; | |
ba112943 BS |
45 | |
46 | # glob should still work even after the File::Glob stash has gone away | |
47 | # (this used to dump core) | |
48 | my $i = 0; | |
49 | for (1..2) { | |
50 | eval "<.>"; | |
51 | undef %File::Glob::; | |
52 | ++$i; | |
53 | } | |
54 | print $i == 2 ? "ok 7\n" : "not ok 7\n"; | |
fe4a5e1f | 55 | |
48beb55f RH |
56 | # ... while ($var = glob(...)) should test definedness not truth |
57 | ||
6ffa69ae CB |
58 | if( $INC{'File/Glob.pm'} ) { |
59 | my $ok = "not ok 8\n"; | |
60 | $ok = "ok 8\n" while my $var = glob("0"); | |
61 | print $ok; | |
62 | } | |
63 | else { | |
64 | print "ok 8 # skip: File::Glob emulated Unixism\n"; | |
65 | } | |
66 | ||
ed2962a1 RH |
67 | |
68 | # The formerly-broken test for the situation above would accidentally | |
69 | # test definedness for an assignment with a LOGOP on the right: | |
70 | my $f=0; | |
71 | $ok="ok 9\n"; | |
72 | $ok="not ok 9\n", undef $f while $x = $f||$f; | |
73 | print $ok |