added todos from bug reports from cpan
[urisagit/File-Slurp.git] / t / paragraph.t
CommitLineData
635c7876 1#!/usr/local/bin/perl -w
2
3use strict ;
4
5use Test::More ;
6use Carp ;
7
8BEGIN{
9 use_ok( 'File::Slurp', ) ;
10}
11
12my $file = 'slurp.data' ;
13unlink $file ;
14
15my @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
26plan( tests => 3 * @text_data ) ;
27
28#print "# text slurp\n" ;
29
30foreach my $data ( @text_data ) {
31
32 test_text_slurp( $data ) ;
33}
34
35
36unlink $file ;
37
38exit ;
39
40sub 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}