diff options
| author | Randy Morgan <[email protected]> | 2012-09-30 09:08:50 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-09-30 09:08:50 +0900 |
| commit | a1f64c74f44c3ce2c32061d1adf9baab94aef4ba (patch) | |
| tree | 7513316f605d81cba9f515dd6670eaa106d5ad04 /test | |
| parent | 000423e08d831fed83faca86f4473f966f25f86b (diff) | |
| download | caxlsx-a1f64c74f44c3ce2c32061d1adf9baab94aef4ba.tar.gz caxlsx-a1f64c74f44c3ce2c32061d1adf9baab94aef4ba.zip | |
Finished and Specced Auto Filter with Filters (standard) filter support
This means you can add autofilters that will restrict the visible rows
based on a specified value.
Diffstat (limited to 'test')
| -rw-r--r-- | test/workbook/worksheet/auto_filter/tc_auto_filter.rb | 8 | ||||
| -rw-r--r-- | test/workbook/worksheet/auto_filter/tc_filters.rb | 28 |
2 files changed, 28 insertions, 8 deletions
diff --git a/test/workbook/worksheet/auto_filter/tc_auto_filter.rb b/test/workbook/worksheet/auto_filter/tc_auto_filter.rb index 77ee2b2c..d7d3b47c 100644 --- a/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +++ b/test/workbook/worksheet/auto_filter/tc_auto_filter.rb @@ -4,9 +4,10 @@ class TestAutoFilter < Test::Unit::TestCase def setup ws = Axlsx::Package.new.workbook.add_worksheet - 3.times { ws.add_row [1,2,3] } + 3.times { |index| ws.add_row [1*index,2*index,3*index] } @auto_filter = ws.auto_filter @auto_filter.range = 'A1:C3' + @auto_filter.add_column 0, :filters, :filter_items => [1] end def test_defined_name @@ -29,4 +30,9 @@ class TestAutoFilter < Test::Unit::TestCase end end + def test_applya + assert_equal nil, @auto_filter.worksheet.rows.last.hidden + @auto_filter.apply + assert_equal true, @auto_filter.worksheet.rows.last.hidden + end end diff --git a/test/workbook/worksheet/auto_filter/tc_filters.rb b/test/workbook/worksheet/auto_filter/tc_filters.rb index dae85b19..e755825b 100644 --- a/test/workbook/worksheet/auto_filter/tc_filters.rb +++ b/test/workbook/worksheet/auto_filter/tc_filters.rb @@ -2,15 +2,13 @@ require 'tc_helper.rb' class TestFilters < Test::Unit::TestCase def setup - @filters = Axlsx::Filters.new(:filter_items => [1, 'a'], :date_group_items =>[ { :date_time_grouping => :year, :year => 2012 } ] , :blank => true) + @filters = Axlsx::Filters.new(:filter_items => [1, 'a'], + :date_group_items =>[ { :date_time_grouping => :year, :year => 2011, :month => 11, :day => 11, :hour => 0, :minute => 0, :second => 0 } ] , + :blank => true) end - def test_initialize - assert_equal Axlsx::Filters::CALENDAR_TYPES.first, @filters.calendar_type - end - - def blank - assert_equal false, @filters.blank + def test_blank + assert_equal true, @filters.blank assert_raise(ArgumentError) { @filters.blank = :only_if_you_want_it } @filters.blank = true assert_equal true, @filters.blank @@ -31,6 +29,22 @@ class TestFilters < Test::Unit::TestCase assert @filters.date_group_items.is_a?(Array) assert_equal 1, @filters.date_group_items.size end + + def test_apply_is_false_for_matching_values + keeper = Object.new + def keeper.value; 'a'; end + assert_equal false, @filters.apply(keeper) + end + def test_apply_is_true_for_non_matching_values + hidden = Object.new + def hidden.value; 'b'; end + assert_equal true, @filters.apply(hidden) + end + + def test_to_xml_string + doc = Nokogiri::XML(@filters.to_xml_string) + assert_equal(1, doc.xpath('//filters[@blank="true"]').size) + end end |
