1#!./perl 2 3BEGIN { 4 chdir 't' if -d 't'; 5 @INC = '../lib'; 6 require Config; import Config; 7 if (not $Config{'d_readdir'}) { 8 print "1..0\n"; 9 exit 0; 10 } 11} 12 13use DirHandle; 14require './test.pl'; 15 16plan(5); 17 18# Fetching the list of files in two different ways and expecting them 19# to be the same is a race condition when tests are running in parallel. 20# So go somewhere quieter. 21my $chdir; 22if ($ENV{PERL_CORE} && -d 'uni') { 23 chdir 'uni'; 24 $chdir++; 25}; 26 27$dot = new DirHandle ($^O eq 'MacOS' ? ':' : '.'); 28 29ok(defined($dot)); 30 31@a = sort <*>; 32do { $first = $dot->read } while defined($first) && $first =~ /^\./; 33ok(+(grep { $_ eq $first } @a)); 34 35@b = sort($first, (grep {/^[^.]/} $dot->read)); 36ok(+(join("\0", @a) eq join("\0", @b))); 37 38$dot->rewind; 39@c = sort grep {/^[^.]/} $dot->read; 40cmp_ok(+(join("\0", @b), 'eq', join("\0", @c))); 41 42$dot->close; 43$dot->rewind; 44ok(!defined($dot->read)); 45 46if ($chdir) { 47 chdir ".."; 48} 49