require "test/unit" $:.unshift(File.dirname(__FILE__)+"/../lib") require "reportbuilder" require "reportbuilder/table/htmlgenerator" require "reportbuilder/table/textgenerator" class TestReportbuilderTable < Test::Unit::TestCase def setup super table=ReportBuilder::Table.new(:header=>%w{a bb ccc dddd eeee fff gggg hh i}) table.add_row(["a","b","c","d","e","f","g","h","i"]) table.add_row([table.colspan("a",2),nil,"c",table.rowspan("d",2),"e","f","g","h","i"]) table.add_row([table.colspan("a",3),nil,nil,nil,"e","f","g","h","i"]) table.add_row([table.colspan("a",4),nil,nil,nil,"e","f","g","h","i"]) table.add_row([table.colspan("a",5),nil,nil,nil,nil,table.colspan("f",3),nil,nil,"i"]) table.add_row([table.colspan("a",6),nil,nil,nil,nil,nil,"g","h","i"]) @table=table @mock_generator = "" class << @mock_generator def add_raw(t) replace(t) end def add_text(t) replace(t) end def add_table_entry(t) "MOCK" end end end def test_table_text tg=ReportBuilder::Table::TextGenerator.new(@mock_generator,@table) tg.generate expected= <
abbccc ddddeeee fffgggghhi
abcde fghi
acde fghi
ae fghi
ae fghi
afi
aghi
HEREDOC assert_equal(expected.gsub(/\s/m,""), @mock_generator.gsub(/\s/m,"")) end end