Add test for Net::protoent.
[p5sagit/p5-mst-13.2.git] / t / lib / glob-global.t
index 0045f89..1d79032 100755 (executable)
@@ -2,7 +2,12 @@
 
 BEGIN {
     chdir 't' if -d 't';
-    unshift @INC, '../lib';
+    if ($^O eq 'MacOS') { 
+       @INC = qw(: ::lib ::macos:lib); 
+    } else { 
+       @INC = '.'; 
+       push @INC, '../lib'; 
+    }
     require Config; import Config;
     if ($Config{'extensions'} !~ /\bFile\/Glob\b/i) {
         print "1..0\n";
@@ -31,9 +36,9 @@ use File::Glob ':globally';
 $loaded = 1;
 print "ok 1\n";
 
-$_ = "lib/*.t";
+$_ = $^O eq "MacOS" ? ":lib:*.t" : "lib/*.t";
 my @r = glob;
-print "not " if $_ ne 'lib/*.t';
+print "not " if $_ ne ($^O eq "MacOS" ? ":lib:*.t" : "lib/*.t");
 print "ok 2\n";
 
 # we should have at least basic.t, global.t, taint.t
@@ -41,7 +46,11 @@ print "# |@r|\nnot " if @r < 3;
 print "ok 3\n";
 
 # check if <*/*> works
-@r = <*/*.t>;
+if ($^O eq "MacOS") {
+    @r = <:*:*.t>;
+} else {
+    @r = <*/*.t>;
+}
 # at least t/global.t t/basic.t, t/taint.t
 print "not " if @r < 3;
 print "ok 4\n";
@@ -49,34 +58,55 @@ my $r = scalar @r;
 
 # check if scalar context works
 @r = ();
-while (defined($_ = <*/*.t>)) {
-    #print "# $_\n";
-    push @r, $_;
+if ($^O eq "MacOS") {
+    while (defined($_ = <:*:*.t>)) {
+       #print "# $_\n";
+       push @r, $_;
+    }
+} else {
+    while (defined($_ = <*/*.t>)) {
+       #print "# $_\n";
+       push @r, $_;
+    }
 }
 print "not " if @r != $r;
 print "ok 5\n";
 
 # check if list context works
 @r = ();
-for (<*/*.t>) {
-    #print "# $_\n";
-    push @r, $_;
+if ($^O eq "MacOS") {
+    for (<:*:*.t>) {
+       #print "# $_\n";
+       push @r, $_;
+    }
+} else {
+    for (<*/*.t>) {
+       #print "# $_\n";
+       push @r, $_;
+    }
 }
 print "not " if @r != $r;
 print "ok 6\n";
 
 # test if implicit assign to $_ in while() works
 @r = ();
-while (<*/*.t>) {
-    #print "# $_\n";
-    push @r, $_;
+if ($^O eq "MacOS") {
+    while (<:*:*.t>) {
+       #print "# $_\n";
+       push @r, $_;
+    }
+} else {
+    while (<*/*.t>) {
+       #print "# $_\n";
+       push @r, $_;
+    }
 }
 print "not " if @r != $r;
 print "ok 7\n";
 
 # test if explicit glob() gets assign magic too
 my @s = ();
-while (glob '*/*.t') {
+while (glob($^O eq 'MacOS' ? ':*:*.t' : '*/*.t')) {
     #print "# $_\n";
     push @s, $_;
 }
@@ -87,7 +117,7 @@ print "ok 8\n";
 package Foo;
 use File::Glob ':globally';
 @s = ();
-while (glob '*/*.t') {
+while (glob($^O eq 'MacOS' ? ':*:*.t' : '*/*.t')) {
     #print "# $_\n";
     push @s, $_;
 }
@@ -97,14 +127,26 @@ print "ok 9\n";
 # test if different glob ops maintain independent contexts
 @s = ();
 my $i = 0;
-while (<*/*.t>) {
-    #print "# $_ <";
-    push @s, $_;
-    while (<bas*/*.t>) {
-        #print " $_";
-        $i++;
+if ($^O eq "MacOS") {
+    while (<:*:*.t>) {
+       #print "# $_ <";
+       push @s, $_;
+       while (<:bas*:*.t>) {
+           #print " $_";
+           $i++;
+       }
+       #print " >\n";
+    }
+} else {
+    while (<*/*.t>) {
+       #print "# $_ <";
+       push @s, $_;
+       while (<bas*/*.t>) {
+           #print " $_";
+           $i++;
+       }
+       #print " >\n";
     }
-    #print " >\n";
 }
 print "not " if "@r" ne "@s" or not $i;
 print "ok 10\n";