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(
'
header1 | header2 | header3 |
---|
foo1 | bar1 | |
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(
'header1 | header2 |
---|
foo1 | bar1 |
foo2 | bar2 |
',
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(
'header1 | header2 | | | |
---|
foo1 | bar1 | | | |
foo2 | bar2 | | | |
',
gen.generate( 'fill' => '3x5', 'data' => data ),
"fill works with valid data"
)
end
end