From 450d5e703ff6d45b6689959ea9079e81ff6dc4ad Mon Sep 17 00:00:00 2001 From: Jonathan Tron Date: Wed, 26 Feb 2014 14:57:26 +0100 Subject: Add auto_filter defined name in `Axlsx::Worksheet#to_xml_string` (refs #285) The way ot was done previously (adding the defined name on `Axlsx::Worksheet#auto_filter=`) meant that it was added only when using this method. But it's possible to assign range on the auto-created `AutoFilter` with: ```ruby workheet.auto_filter.range = "A1:B2" ``` In this case the defined name was never added to the workbook. --- test/workbook/worksheet/tc_worksheet.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/workbook') diff --git a/test/workbook/worksheet/tc_worksheet.rb b/test/workbook/worksheet/tc_worksheet.rb index 7cefbda9..74253613 100644 --- a/test/workbook/worksheet/tc_worksheet.rb +++ b/test/workbook/worksheet/tc_worksheet.rb @@ -514,7 +514,18 @@ class TestWorksheet < Test::Unit::TestCase assert_raise(ArgumentError) { @ws.auto_filter = 123 } @ws.auto_filter.range = "A1:D9" assert_equal(@ws.auto_filter.range, "A1:D9") + @ws.to_xml_string + assert(@wb.defined_names.any?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}) + end + + def test_auto_filter_assign + assert(@ws.auto_filter.range.nil?) assert(@wb.defined_names.none?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}) + assert_raise(ArgumentError) { @ws.auto_filter = 123 } + @ws.auto_filter = "A1:D9" + assert_equal(@ws.auto_filter.range, "A1:D9") + @ws.to_xml_string + assert(@wb.defined_names.any?{|defined_name| defined_name.name=='_xlnm._FilterDatabase'}) end def test_sheet_pr_for_auto_filter -- cgit v1.2.3