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
|
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel::Simple;
use Test::More;
BEGIN {
eval "use File::Temp; use Spreadsheet::WriteExcel::Simple 1.03";
plan $@
? (skip_all =>
'tests need Spreadsheet::WriteExcel::Simple 1.03 + File::Temp')
: (tests => 11);
}
File::Temp->import(qw/tempfile tempdir/);
my $dir1 = tempdir(CLEANUP => 1);
my ($fh1, $name1) = tempfile(DIR => $dir1);
my @row1 = qw/foo bar baz/;
my @row2 = qw/1 fred 2001-01-01/;
my @row3 = ();
my @row4 = (2, undef, "2001-03-01");
# Write our our test file.
my $ss = Spreadsheet::WriteExcel::Simple->new;
$ss->write_bold_row(\@row1);
$ss->write_row(\@row2);
$ss->write_row(\@row3);
$ss->write_row(\@row4);
$ss->save($name1);
# Now read it back in
my $xls = Spreadsheet::ParseExcel::Simple->read($name1);
my @sheets = $xls->sheets;
is scalar @sheets, 1, "We have one sheet";
my $sheet = $sheets[0];
ok $sheet->has_data, "We have data to read";
my @fetch1 = $sheet->next_row;
is_deeply \@fetch1, \@row1, "Header OK";
ok $sheet->has_data, "We still have data to read";
my @fetch2 = $sheet->next_row;
is_deeply \@fetch2, \@row2, "Row 2";
ok $sheet->has_data, "We still have data to read";
my @fetch3 = $sheet->next_row;
is_deeply \@fetch3, \@row3, "Row 3 (blank)";
ok $sheet->has_data, "We still have data to read";
my @fetch4 = $sheet->next_row;
local $row4[1] = ""; # undefs come back as empty string
is_deeply \@fetch4, \@row4, "Row 4";
ok !$sheet->has_data, "No more data to read";
ok !$sheet->next_row, "So, can't read any";
|