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