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