diff options
| author | Randy Morgan <[email protected]> | 2012-04-21 13:58:27 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-04-21 13:58:27 +0900 |
| commit | 050f4cfac1b3a52da16b98f3a494083f0de5348f (patch) | |
| tree | 889e7217fe7a731be6f3588e4e179d3d73d349cd /test | |
| parent | c84e62cb7a91fefae0457baabbd9b2f3bef3259e (diff) | |
| download | caxlsx-050f4cfac1b3a52da16b98f3a494083f0de5348f.tar.gz caxlsx-050f4cfac1b3a52da16b98f3a494083f0de5348f.zip | |
adding in icon set and MOAR examples for conditional formatting.
Diffstat (limited to 'test')
| -rw-r--r-- | test/workbook/worksheet/tc_conditional_formatting.rb | 22 | ||||
| -rw-r--r-- | test/workbook/worksheet/tc_icon_set.rb | 45 |
2 files changed, 66 insertions, 1 deletions
diff --git a/test/workbook/worksheet/tc_conditional_formatting.rb b/test/workbook/worksheet/tc_conditional_formatting.rb index 2287c017..0dcb1a7c 100644 --- a/test/workbook/worksheet/tc_conditional_formatting.rb +++ b/test/workbook/worksheet/tc_conditional_formatting.rb @@ -25,15 +25,35 @@ class TestConditionalFormatting < Test::Unit::TestCase cs.value_objects.first.val = 5 end + data_bar = Axlsx::DataBar.new :color => "FFFF0000" + icon_set = Axlsx::IconSet.new :iconSet => "5Rating" + cfs = @ws.add_conditional_formatting( "B2:B2", [{ :type => :containsText, :text => "TRUE", :dxfId => 0, :priority => 1, :formula => 'NOT(ISERROR(SEARCH("FALSE",AB1)))', - :color_scale => color_scale}]) + :color_scale => color_scale, + :data_bar => data_bar, + :icon_set => icon_set}]) doc = Nokogiri::XML.parse(cfs.last.to_xml_string) assert_equal(1, doc.xpath(".//conditionalFormatting[@sqref='B2:B2']//cfRule[@type='containsText'][@dxfId=0][@priority=1]").size) assert doc.xpath(".//conditionalFormatting//cfRule[@type='containsText'][@dxfId=0][@priority=1]//formula='NOT(ISERROR(SEARCH(\"FALSE\",AB1)))'") + + cfs.last.rules.last.type = :colorScale + doc = Nokogiri::XML.parse(cfs.last.to_xml_string) assert_equal(doc.xpath(".//conditionalFormatting//cfRule//colorScale//cfvo").size, 2) assert_equal(doc.xpath(".//conditionalFormatting//cfRule//colorScale//color").size, 2) + + cfs.last.rules.last.type = :dataBar + doc = Nokogiri::XML.parse(cfs.last.to_xml_string) + assert_equal(doc.xpath(".//conditionalFormatting//cfRule//dataBar").size, 1) + assert_equal(doc.xpath(".//conditionalFormatting//cfRule//dataBar//cfvo").size, 2) + assert_equal(doc.xpath(".//conditionalFormatting//cfRule//dataBar//color[@rgb='FFFF0000']").size, 1) + + cfs.last.rules.last.type = :iconSet + doc = Nokogiri::XML.parse(cfs.last.to_xml_string) + assert_equal(doc.xpath(".//conditionalFormatting//cfRule//iconSet//cfvo").size, 2) + assert_equal(doc.xpath(".//conditionalFormatting//cfRule//iconSet[@iconSet='5Rating']").size, 1) + end def test_single_rule diff --git a/test/workbook/worksheet/tc_icon_set.rb b/test/workbook/worksheet/tc_icon_set.rb new file mode 100644 index 00000000..bb90276c --- /dev/null +++ b/test/workbook/worksheet/tc_icon_set.rb @@ -0,0 +1,45 @@ +require 'tc_helper.rb' + +class TestIconSet < Test::Unit::TestCase + def setup + @icon_set = Axlsx::IconSet.new + end + + def test_defaults + assert_equal @icon_set.iconSet, "3TrafficLights1" + assert_equal @icon_set.percent, true + assert_equal @icon_set.reverse, false + assert_equal @icon_set.showValue, true + end + + def test_icon_set + assert_raise(ArgumentError) { @icon_set.iconSet = "invalid_value" } + assert_nothing_raised { @icon_set.iconSet = "5Rating"} + assert_equal(@icon_set.iconSet, "5Rating") + end + + def test_percent + assert_raise(ArgumentError) { @icon_set.percent = :invalid_type } + assert_nothing_raised { @icon_set.percent = false} + assert_equal(@icon_set.percent, false) + end + + def test_showValue + assert_raise(ArgumentError) { @icon_set.showValue = :invalid_type } + assert_nothing_raised { @icon_set.showValue = false} + assert_equal(@icon_set.showValue, false) + end + + def test_reverse + assert_raise(ArgumentError) { @icon_set.reverse = :invalid_type } + assert_nothing_raised { @icon_set.reverse = false} + assert_equal(@icon_set.reverse, false) + end + + def test_to_xml_string + doc = Nokogiri::XML.parse(@icon_set.to_xml_string) + assert_equal(doc.xpath(".//iconSet[@iconSet='3TrafficLights1'][@percent='true'][@reverse='false'][@showValue='true']").size, 1) + assert_equal(doc.xpath(".//iconSet//cfvo").size, 2) + end + +end |
