Commit | Line | Data |
635c7876 |
1 | #!/usr/bin/perl -w -I. |
2 | |
3 | use strict ; |
4 | use Test::More tests => 7 ; |
5 | |
6 | use File::Slurp ; |
7 | |
8 | # try to honor possible tempdirs |
9 | |
10 | my $test_dir = "read_dir_$$" ; |
11 | |
12 | mkdir( $test_dir, 0700) || die "mkdir $test_dir: $!" ; |
13 | |
14 | my @dir_entries = read_dir( $test_dir ); |
15 | |
16 | ok( @dir_entries == 0, 'empty dir' ) ; |
17 | |
18 | @dir_entries = read_dir( $test_dir, keep_dot_dot => 1 ) ; |
19 | |
20 | ok( @dir_entries == 2, 'empty dir with . ..' ) ; |
21 | |
22 | write_file( "$test_dir/x", "foo\n" ) ; |
23 | |
24 | @dir_entries = read_dir( $test_dir ) ; |
25 | |
26 | ok( @dir_entries == 1, 'dir with 1 file' ) ; |
27 | |
28 | ok( $dir_entries[0] eq 'x', 'dir with file x' ) ; |
29 | |
30 | my $file_cnt = 23 ; |
31 | |
32 | my @expected_entries = sort( 'x', 1 .. $file_cnt ) ; |
33 | |
34 | for ( 1 .. $file_cnt ) { |
35 | |
36 | write_file( "$test_dir/$_", "foo\n" ) ; |
37 | } |
38 | |
39 | @dir_entries = read_dir( $test_dir ) ; |
40 | @dir_entries = sort @dir_entries ; |
41 | |
42 | ok( eq_array( \@dir_entries, \@expected_entries ), |
43 | "dir with $file_cnt files" ) ; |
44 | |
45 | my $dir_entries_ref = read_dir( $test_dir ) ; |
46 | @{$dir_entries_ref} = sort @{$dir_entries_ref} ; |
47 | |
48 | ok( eq_array( $dir_entries_ref, \@expected_entries ), |
49 | "dir in array ref" ) ; |
50 | |
51 | # clean up |
52 | |
53 | unlink map "$test_dir/$_", @dir_entries ; |
54 | rmdir( $test_dir ) || die "rmdir $test_dir: $!"; |
55 | ok( 1, 'cleanup' ) ; |
56 | |
57 | __END__ |