0.17 Sat Nov 05 23:30:00 2004
[p5sagit/Excel-Template.git] / t / 009_loop.t
1 use strict;
2 use warnings;
3 $|++;
4
5 use Test::More tests => 5;
6
7 use lib 't';
8 use mock;
9 mock->reset;
10
11 my $CLASS = 'Excel::Template';
12 use_ok( $CLASS );
13
14 my $object = $CLASS->new(
15     filename => 't/009.xml',
16 );
17 isa_ok( $object, $CLASS );
18
19 ok(
20     $object->param( 
21         loopy => [
22             { value => 1 },
23             { value => 2 },
24             { value => 3 },
25         ],
26         outer => [
27             { iter => 'a', inner => [ { value => 1 }, { value => 2 } ] },
28             { iter => 'b', inner => [ { value => 3 }, { value => 4 } ] },
29         ],
30         worksheets => [
31             { value => 1 },
32             { value => 2 },
33             { value => 3 },
34         ],
35     ),
36     'Parameters set',
37 );
38
39 ok( $object->write_file( 'filename' ), 'Something returned' );
40
41 my @calls = mock->get_calls;
42 is( join( $/, @calls, '' ), <<__END_EXPECTED__, 'Calls match up' );
43 Spreadsheet::WriteExcel::new( 'filename' )
44 Spreadsheet::WriteExcel::add_format( '' )
45 Spreadsheet::WriteExcel::add_worksheet( 'loops' )
46 Spreadsheet::WriteExcel::Worksheet::new( '' )
47 Spreadsheet::WriteExcel::Worksheet::write( '0', '0', '1', '1' )
48 Spreadsheet::WriteExcel::Worksheet::write( '0', '1', 'text', '1' )
49 Spreadsheet::WriteExcel::Worksheet::write( '1', '0', '2', '1' )
50 Spreadsheet::WriteExcel::Worksheet::write( '1', '1', 'text', '1' )
51 Spreadsheet::WriteExcel::Worksheet::write( '2', '0', '3', '1' )
52 Spreadsheet::WriteExcel::Worksheet::write( '2', '1', 'text', '1' )
53 Spreadsheet::WriteExcel::Worksheet::write( '3', '0', 'a', '1' )
54 Spreadsheet::WriteExcel::Worksheet::write( '3', '1', '1', '1' )
55 Spreadsheet::WriteExcel::Worksheet::write( '3', '2', '2', '1' )
56 Spreadsheet::WriteExcel::Worksheet::write( '4', '0', 'b', '1' )
57 Spreadsheet::WriteExcel::Worksheet::write( '4', '1', '3', '1' )
58 Spreadsheet::WriteExcel::Worksheet::write( '4', '2', '4', '1' )
59 Spreadsheet::WriteExcel::add_worksheet( '1' )
60 Spreadsheet::WriteExcel::Worksheet::new( '' )
61 Spreadsheet::WriteExcel::add_worksheet( '2' )
62 Spreadsheet::WriteExcel::Worksheet::new( '' )
63 Spreadsheet::WriteExcel::add_worksheet( '3' )
64 Spreadsheet::WriteExcel::Worksheet::new( '' )
65 Spreadsheet::WriteExcel::close( '' )
66 __END_EXPECTED__