X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fop%2Fglob.t;h=d03d75fc43da37419dec714edf82a763b9d5b2fd;hb=8a064bd6d0d7a44f3e80bed959e1dc566b57850d;hp=064202d68e1b2434b549e1f81d4341eeb17f1f96;hpb=9ea40b93a00f4a251037622d4c436d0ceda2caf3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/op/glob.t b/t/op/glob.t index 064202d..d03d75f 100755 --- a/t/op/glob.t +++ b/t/op/glob.t @@ -17,6 +17,11 @@ elsif ($^O eq 'VMS') { map { $files{lc($_)}++ } <[.op]*>; map { s/;.*$//; delete $files{lc($_)}; } split /[\n]/, `directory/noheading/notrailing/versions=1 [.op]`, } +elsif ($^O eq 'MacOS') { + @oops = @ops = <:op:*>; + map { $files{$_}++ } <:op:*>; + map { delete $files{$_} } split /[\s\n]/, `echo :op:\xc5`; +} else { map { $files{$_}++ } ; map { delete $files{$_} } split /[\s\n]/, `echo op/*`; @@ -27,16 +32,23 @@ if (keys %files) { print $/ eq "\n" ? "ok 2\n" : "not ok 2\n"; -while () { - $not = "not " unless $_ eq shift @ops; - $not = "not at all " if $/ eq "\0"; +if ($^O eq 'MacOS') { + while () { + $not = "not " unless $_ eq shift @ops; + $not = "not at all " if $/ eq "\0"; + } +} else { + while () { + $not = "not " unless $_ eq shift @ops; + $not = "not at all " if $/ eq "\0"; + } } print "${not}ok 3\n"; print $/ eq "\n" ? "ok 4\n" : "not ok 4\n"; # test the "glob" operator -$_ = "op/*"; +$_ = $^O eq 'MacOS' ? ":op:*" : "op/*"; @glops = glob $_; print "@glops" eq "@oops" ? "ok 5\n" : "not ok 5\n"; @@ -55,17 +67,25 @@ print $i == 2 ? "ok 7\n" : "not ok 7\n"; # ... while ($var = glob(...)) should test definedness not truth -# Create a file called "0" -print open(F, ">0") ? "ok 8\n" : "not ok 8 # $!\n"; -close F; +if( $INC{'File/Glob.pm'} ) { + my $ok = "not ok 8\n"; + $ok = "ok 8\n" while my $var = glob("0"); + print $ok; +} +else { + print "ok 8 # skip: File::Glob emulated Unixism\n"; +} -my $ok = "not ok 9\n"; -$ok = "ok 9\n" while my $var = glob("0"); -print $ok; -print unlink("0") ? "ok 10\n" : "not ok 10\n"; +# The formerly-broken test for the situation above would accidentally +# test definedness for an assignment with a LOGOP on the right: +my $f=0; +$ok="ok 9\n"; +$ok="not ok 9\n", undef $f while $x = $f||$f; +print $ok; -END { - 1 while unlink "0"; +# Better check that glob actually returned some entries +{ + my $not = (scalar @oops > 0) ? '' : 'not '; + print "${not}ok 10\n"; } -