From c8eb5fe13bfca2dcac17848dd15dc04f4f0dcf9b Mon Sep 17 00:00:00 2001 From: Weston Ganger Date: Thu, 13 Jan 2022 08:06:07 -0800 Subject: Fix invalid xml when pivot table created with more than one column in data field --- test/workbook/worksheet/tc_pivot_table.rb | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'test/workbook') diff --git a/test/workbook/worksheet/tc_pivot_table.rb b/test/workbook/worksheet/tc_pivot_table.rb index a494dcfd..591f0ba9 100644 --- a/test/workbook/worksheet/tc_pivot_table.rb +++ b/test/workbook/worksheet/tc_pivot_table.rb @@ -140,4 +140,41 @@ class TestPivotTable < Test::Unit::TestCase doc = Nokogiri::XML(pivot_table.to_xml_string) assert_equal('4', doc.at_css('dataFields dataField')['numFmtId'], 'adding format options to pivot_table') end + + def test_pivot_table_with_more_than_one_data_row + ### https://github.com/caxlsx/caxlsx/issues/110 + + pivot_table = @ws.add_pivot_table('G5:G6', 'A1:E5') do |pt| + pt.rows = ["Date", "Name"] + pt.data = [ + {ref: "Gross amount", num_fmt: 2}, + {ref: "Net amount", num_fmt: 2}, + ] + end + + xml = pivot_table.to_xml_string + + assert(xml.include?('colFields')) + + assert(!xml.include?('dataOnRows')) + assert(!xml.include?('colItems')) + end + + def test_pivot_table_with_only_one_data_row + ### https://github.com/caxlsx/caxlsx/issues/110 + + pivot_table = @ws.add_pivot_table('G5:G6', 'A1:E5') do |pt| + pt.rows = ["Date", "Name"] + pt.data = [ + {ref: "Gross amount", num_fmt: 2}, + ] + end + + xml = pivot_table.to_xml_string + + assert(xml.include?('dataOnRows')) + assert(xml.include?('colItems')) + + assert(!xml.include?('colFields')) + end end -- cgit v1.2.3