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 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#!/usr/local/bin/perl -w
use strict ;
use File::Slurp ;
use Carp ;
use POSIX qw( :fcntl_h ) ;
use Test::More tests => 1 ;
# in case SEEK_SET isn't defined in older perls. it seems to always be 0
BEGIN {
*SEEK_SET = sub { 0 } unless defined \&SEEK_SET ;
}
SKIP: {
eval { require B } ;
skip <<TEXT, 1 if $@ ;
B.pm not found in this Perl. This will cause slurping of
the DATA handle to fail.
TEXT
test_data_list_slurp() ;
}
exit ;
sub test_data_list_slurp {
my $data_seek = tell( \*DATA );
# first slurp in the lines
my @slurp_lines = read_file( \*DATA ) ;
# now seek back and read all the lines with the <> op and we make
# golden data sets
seek( \*DATA, $data_seek, SEEK_SET ) || die "seek $!" ;
my @data_lines = <DATA> ;
# test the array slurp
ok( eq_array( \@data_lines, \@slurp_lines ), 'list slurp of DATA' ) ;
}
__DATA__
line one
second line
more lines
still more
enough lines
we can't test long handle slurps from DATA since i would have to type
too much stuff
so we will stop here
|