X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FFile%2FDosGlob.t;h=625d107ebe5e07a1744b8545774505a74b0217d0;hb=1158ce344e6265a869b839cb74dfea1138fd2130;hp=31e36e24dc7c87a3bdb86e0343886b572722d70f;hpb=b695f709e8a342e35e482b0437eb6cdacdc58b6b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/File/DosGlob.t b/lib/File/DosGlob.t index 31e36e2..625d107 100755 --- a/lib/File/DosGlob.t +++ b/lib/File/DosGlob.t @@ -15,23 +15,32 @@ print "1..10\n"; use File::DosGlob 'glob'; # test if $_ takes as the default -$_ = "op/a*.t"; +my $expected; +if ($^O eq 'MacOS') { + $expected = $_ = ":op:a*.t"; +} else { + $expected = $_ = "op/a*.t"; +} my @r = glob; -print "not " if $_ ne 'op/a*.t'; +print "not " if $_ ne $expected; print "ok 1\n"; print "# |@r|\nnot " if @r < 9; print "ok 2\n"; # check if <*/*> works -@r = <*/a*.t>; +if ($^O eq 'MacOS') { + @r = <:*:a*.t>; +} else { + @r = <*/a*.t>; +} # atleast {argv,abbrev,anydbm,autoloader,append,arith,array,assignwarn,auto}.t -print "not " if @r < 9; +print "# |@r|\nnot " if @r < 9; print "ok 3\n"; my $r = scalar @r; # check if scalar context works @r = (); -while (defined($_ = <*/a*.t>)) { +while (defined($_ = ($^O eq 'MacOS') ? <:*:a*.t> : <*/a*.t>)) { print "# $_\n"; push @r, $_; } @@ -40,25 +49,40 @@ print "ok 4\n"; # check if list context works @r = (); -for (<*/a*.t>) { - print "# $_\n"; - push @r, $_; +if ($^O eq 'MacOS') { + for (<:*:a*.t>) { + print "# $_\n"; + push @r, $_; + } +} else { + for (<*/a*.t>) { + print "# $_\n"; + push @r, $_; + } } print "not " if @r != $r; print "ok 5\n"; # test if implicit assign to $_ in while() works @r = (); -while (<*/a*.t>) { - print "# $_\n"; - push @r, $_; +if ($^O eq 'MacOS') { + while (<:*:a*.t>) { + print "# $_\n"; + push @r, $_; + } +} else { + while (<*/a*.t>) { + print "# $_\n"; + push @r, $_; + } } print "not " if @r != $r; print "ok 6\n"; # test if explicit glob() gets assign magic too my @s = (); -while (glob '*/a*.t') { +my $pat = ($^O eq 'MacOS') ? ':*:a*.t': '*/a*.t'; +while (glob ($pat)) { print "# $_\n"; push @s, $_; } @@ -69,7 +93,8 @@ print "ok 7\n"; package Foo; use File::DosGlob 'glob'; @s = (); -while (glob '*/a*.t') { +$pat = $^O eq 'MacOS' ? ':*:a*.t' : '*/a*.t'; +while (glob($pat)) { print "# $_\n"; push @s, $_; } @@ -78,15 +103,28 @@ print "ok 8\n"; # test if different glob ops maintain independent contexts @s = (); -while (<*/a*.t>) { - my $i = 0; - print "# $_ <"; - push @s, $_; - while (<*/b*.t>) { - print " $_"; - $i++; +if ($^O eq 'MacOS') { + while (<:*:a*.t>) { + my $i = 0; + print "# $_ <"; + push @s, $_; + while (<:*:b*.t>) { + print " $_"; + $i++; + } + print " >\n"; + } +} else { + while (<*/a*.t>) { + my $i = 0; + print "# $_ <"; + push @s, $_; + while (<*/b*.t>) { + print " $_"; + $i++; + } + print " >\n"; } - print " >\n"; } print "not " if "@r" ne "@s"; print "ok 9\n"; @@ -96,15 +134,28 @@ eval <<'EOT'; use File::DosGlob 'GLOBAL_glob'; package Bar; @s = (); -while (<*/a*.t>) { - my $i = 0; - print "# $_ <"; - push @s, $_; - while (glob '*/b*.t') { - print " $_"; - $i++; +if ($^O eq 'MacOS') { + while (<:*:a*.t>) { + my $i = 0; + print "# $_ <"; + push @s, $_; + while (glob ':*:b*.t') { + print " $_"; + $i++; + } + print " >\n"; + } +} else { + while (<*/a*.t>) { + my $i = 0; + print "# $_ <"; + push @s, $_; + while (glob '*/b*.t') { + print " $_"; + $i++; + } + print " >\n"; } - print " >\n"; } print "not " if "@r" ne "@s"; print "ok 10\n";