initial commit
[urisagit/Perl-Docs.git] / t / paragraph.t
1 #!/usr/local/bin/perl -w
2
3 use strict ;
4
5 use Test::More ;
6 use Carp ;
7
8 BEGIN{ 
9         use_ok( 'File::Slurp', ) ;
10 }
11
12 my $file = 'slurp.data' ;
13 unlink $file ;
14
15 my @text_data = (
16         [],
17         [ 'a' x 8 ],
18         [ "\n" x 5 ],
19         [ map( "aaaaaaaa\n\n", 1 .. 3 ) ],
20         [ map( "aaaaaaaa\n\n", 1 .. 3 ), 'aaaaaaaa' ],
21         [ map( "aaaaaaaa" . ( "\n"  x (2 + rand 3) ), 1 .. 100 ) ],
22         [ map( "aaaaaaaa" . ( "\n"  x (2 + rand 3) ), 1 .. 100 ), 'aaaaaaaa' ],
23         [],
24 ) ;
25
26 plan( tests => 3 * @text_data ) ;
27
28 #print "# text slurp\n" ;
29
30 foreach my $data ( @text_data ) {
31
32         test_text_slurp( $data ) ;
33 }
34
35
36 unlink $file ;
37
38 exit ;
39
40 sub test_text_slurp {
41
42         my( $data_ref ) = @_ ;
43
44         my @data_lines = @{$data_ref} ;
45         my $data_text = join( '', @data_lines ) ;
46
47         local( $/ ) = '' ;
48
49         my $err = write_file( $file, $data_text ) ;
50         ok( $err, 'write_file - ' . length $data_text ) ;
51
52
53         my @array = read_file( $file ) ;
54         ok( eq_array( \@array, \@data_lines ),
55                         'array read_file - ' . length $data_text ) ;
56
57         print "READ:\n", map( "[$_]\n", @array ),
58                  "EXP:\n", map( "[$_]\n", @data_lines )
59                         unless eq_array( \@array, \@data_lines ) ;
60
61         my $array_ref = read_file( $file, array_ref => 1 ) ;
62         ok( eq_array( $array_ref, \@data_lines ),
63                         'array ref read_file - ' . length $data_text ) ;
64
65         return ;
66 }