require "test/unit" require "Spreadsheet/HTML" class Test_Padding < Test::Unit::TestCase def test_padding gen = Spreadsheet::HTML.new data = Array[ %w(header1 header2 header3), Array[ 'foo1', 'bar1' ], Array[ 'foo2' ], ] assert_equal( '
header1header2header3
foo1bar1 
foo2  
', gen.generate( 'data' => data ), "empty values are padded with default" ) data = Array[ %w(header1 header2), Array[ 'foo1', 'bar1', 'baz1' ], Array[ 'foo2', 'bar2', 'baz2', 'qux2' ], ] assert_equal( '
header1header2
foo1bar1
foo2bar2
', gen.generate( 'data' => data ), "extra values are truncated" ) end def test_fill gen = Spreadsheet::HTML.new data = Array[ %w(header1 header2), Array[ 'foo1', 'bar1' ], Array[ 'foo2', 'bar2' ], ] assert_equal( '
     
     
     
', gen.generate( 'fill' => '3x5' ), "fill works with no data" ) assert_equal( '
 
', gen.generate( 'fill' => '0x0' ), "fill defaults to 1x1 with with invalid data (zero)" ) assert_equal( '
 
', gen.generate( 'fill' => 'axb' ), "fill defaults to 1x1 with with invalid data (letters)" ) assert_equal( '
header1header2   
foo1bar1   
foo2bar2   
', gen.generate( 'fill' => '3x5', 'data' => data ), "fill works with valid data" ) end end