#!/usr/bin/perl -w ############################################################################### # # A test for Spreadsheet::WriteExcel. # # Tests to ensure merge formats aren't used in non-merged cells and # vice-versa. This is temporary feature to prevent users from inadvertently # making this error. # # reverse('©'), April 2005, John McNamara, jmcnamara@cpan.org # use strict; use Spreadsheet::WriteExcel; use Test::More tests => 8; ############################################################################### # # Tests setup # my $test_file = "temp_test_file.xls"; my $workbook = Spreadsheet::WriteExcel->new($test_file); my $worksheet = $workbook->add_worksheet(); my $merged_format = $workbook->add_format(bold => 1); my $non_merged_format = $workbook->add_format(bold => 1); $worksheet->set_row(5, undef, $merged_format); $worksheet->set_column('G:G', undef, $merged_format); ############################################################################### # # Test # eval { $worksheet->write ('A1', 'Test', $non_merged_format); $worksheet->merge_range('A3:B4', 'Test', $merged_format ); }; ok(! $@, " \tNormal usage."); ############################################################################### # # Test # eval { $worksheet->write ('D1', 'Test', $merged_format ); }; ok( $@, " \tMerge format in non-merged cell."); ############################################################################### # # Test # eval { $worksheet->merge_range('D3:E4', 'Test', $non_merged_format); }; ok( $@, " \tNon merge format in merged cells."); ############################################################################### # # Test # eval { $worksheet->write('G1', 'Test',); }; ok( $@, " \tMerge format in column."); ############################################################################### # # Test # eval { $worksheet->write('A6', 'Test',); }; ok( $@, " \tMerge format in row."); ############################################################################### # # Test # eval { $worksheet->write('G6', 'Test',); }; ok( $@, " \tMerge format in column and row."); ############################################################################### # # Test # eval { $worksheet->write('H7', 'Test',); }; ok(! $@, " \tNo merge format in column and row."); ############################################################################### # # Test # eval { $worksheet->write ('A1', 'Test', $non_merged_format); $worksheet->merge_range('A3:B4', 'Test', $merged_format ); }; ok(! $@, " \tNormal usage again."); $workbook->close(); unlink $test_file; __END__