diff options
| author | Randy Morgan <[email protected]> | 2012-05-13 14:40:31 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-05-13 14:40:31 +0900 |
| commit | c2bdd517720d8f4640e7e06962417a4c5b0f02c7 (patch) | |
| tree | d920ed1729d164fbcb4a13eda2c9236ca564dea3 | |
| parent | d46c97f6576aceaf30424b221188d80c7a4ecf64 (diff) | |
| download | caxlsx-c2bdd517720d8f4640e7e06962417a4c5b0f02c7.tar.gz caxlsx-c2bdd517720d8f4640e7e06962417a4c5b0f02c7.zip | |
MOAR specs
| -rw-r--r-- | test/drawing/tc_hyperlink.rb | 4 | ||||
| -rw-r--r-- | test/drawing/tc_line_series.rb | 8 | ||||
| -rw-r--r-- | test/drawing/tc_pie_series.rb | 7 | ||||
| -rw-r--r-- | test/stylesheet/tc_gradient_fill.rb | 8 | ||||
| -rw-r--r-- | test/stylesheet/tc_pattern_fill.rb | 8 | ||||
| -rw-r--r-- | test/tc_helper.rb | 1 | ||||
| -rw-r--r-- | test/tc_package.rb | 21 | ||||
| -rw-r--r-- | test/workbook/worksheet/tc_row.rb | 20 |
8 files changed, 67 insertions, 10 deletions
diff --git a/test/drawing/tc_hyperlink.rb b/test/drawing/tc_hyperlink.rb index 251c7967..4d95e67a 100644 --- a/test/drawing/tc_hyperlink.rb +++ b/test/drawing/tc_hyperlink.rb @@ -66,4 +66,8 @@ class TestHyperlink < Test::Unit::TestCase assert_equal(@hyperlink.history, false ) end + def test_to_xml_string + doc = Nokogiri::XML(@p.workbook.worksheets.first.drawing.to_xml_string) + assert(doc.xpath("//a:hlinkClick")) + end end diff --git a/test/drawing/tc_line_series.rb b/test/drawing/tc_line_series.rb index ef180e39..557ba251 100644 --- a/test/drawing/tc_line_series.rb +++ b/test/drawing/tc_line_series.rb @@ -6,7 +6,7 @@ class TestLineSeries < Test::Unit::TestCase p = Axlsx::Package.new @ws = p.workbook.add_worksheet :name=>"hmmm" chart = @ws.drawing.add_chart Axlsx::Line3DChart, :title => "fishery" - @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob" + @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob", :color => "#FF0000" end def test_initialize @@ -15,6 +15,10 @@ class TestLineSeries < Test::Unit::TestCase assert_equal(@series.data.class, Axlsx::NumDataSource) end - + + def test_to_xml_string + doc = Nokogiri::XML(@series.to_xml_string) + assert(doc.xpath("//srgbClr[@val='#{@series.color}']")) + end #TODO serialization testing end diff --git a/test/drawing/tc_pie_series.rb b/test/drawing/tc_pie_series.rb index d9853850..2c8859c7 100644 --- a/test/drawing/tc_pie_series.rb +++ b/test/drawing/tc_pie_series.rb @@ -6,7 +6,7 @@ class TestPieSeries < Test::Unit::TestCase p = Axlsx::Package.new @ws = p.workbook.add_worksheet :name=>"hmmm" chart = @ws.drawing.add_chart Axlsx::Pie3DChart, :title => "fishery" - @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob" + @series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob", :colors => ["FF0000", "00FF00", "0000FF"] end def test_initialize @@ -22,6 +22,11 @@ class TestPieSeries < Test::Unit::TestCase assert(@series.explosion == 20) end + def test_to_xml_string + doc = Nokogiri::XML(@series.to_xml_string) + assert(doc.xpath("//srgbClr[@val='#{@series.colors[0]}']")) + + end #TODO test unique serialization parts end diff --git a/test/stylesheet/tc_gradient_fill.rb b/test/stylesheet/tc_gradient_fill.rb index c252a498..546941d7 100644 --- a/test/stylesheet/tc_gradient_fill.rb +++ b/test/stylesheet/tc_gradient_fill.rb @@ -61,4 +61,12 @@ class TestGradientFill < Test::Unit::TestCase assert(@item.stop.size == 1) assert(@item.stop.last.is_a?(Axlsx::GradientStop)) end + + def test_to_xml_string + @item.stop << Axlsx::GradientStop.new(Axlsx::Color.new(:rgb => "000000"), 0.5) + @item.stop << Axlsx::GradientStop.new(Axlsx::Color.new(:rgb => "FFFFFF"), 0.5) + @item.type = :path + doc = Nokogiri::XML(@item.to_xml_string) + assert(doc.xpath("//color[@rgb='FF000000']")) + end end diff --git a/test/stylesheet/tc_pattern_fill.rb b/test/stylesheet/tc_pattern_fill.rb index 65ed0dd1..3895cffb 100644 --- a/test/stylesheet/tc_pattern_fill.rb +++ b/test/stylesheet/tc_pattern_fill.rb @@ -33,5 +33,11 @@ class TestPatternFill < Test::Unit::TestCase assert_nothing_raised { @item.patternType = :lightUp } assert_equal(@item.patternType, :lightUp) end - + + def test_to_xml_string + @item = Axlsx::PatternFill.new :bgColor => Axlsx::Color.new(:rgb => "FF0000"), :fgColor => Axlsx::Color.new(:rgb=>"00FF00") + doc = Nokogiri::XML(@item.to_xml_string) + assert(doc.xpath('//color[@rgb="FFFF0000"]')) + assert(doc.xpath('//color[@rgb="FF00FF00"]')) + end end diff --git a/test/tc_helper.rb b/test/tc_helper.rb index e5606a09..ce65da91 100644 --- a/test/tc_helper.rb +++ b/test/tc_helper.rb @@ -1,3 +1,4 @@ $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib" +require 'cover_me' require 'test/unit' require "axlsx.rb" diff --git a/test/tc_package.rb b/test/tc_package.rb index 86a00236..5ff358c5 100644 --- a/test/tc_package.rb +++ b/test/tc_package.rb @@ -4,10 +4,23 @@ class TestPackage < Test::Unit::TestCase def setup @package = Axlsx::Package.new ws = @package.workbook.add_worksheet + ws.add_row ['yes', 'we', 'can'] + ws.add_comment :author => 'bob', :text => 'penny!', :ref => 'A1' chart = ws.add_chart Axlsx::Pie3DChart chart.add_series :data=>[1,2,3], :labels=>["a", "b", "c"] @fname = 'axlsx_test_serialization.xlsx' + img = File.expand_path('../../examples/image1.jpeg', __FILE__) + ws.add_image(:image_src => img, :noSelect => true, :noMove => true, :hyperlink=>"http://axlsx.blogspot.com") do |image| + image.width=720 + image.height=666 + image.hyperlink.tooltip = "Labeled Link" + image.start_at 2, 2 + end + end + def test_use_autowidth + @package.use_autowidth = false + assert(@package.workbook.use_autowidth == false) end def test_core_accessor @@ -55,10 +68,6 @@ class TestPackage < Test::Unit::TestCase def test_parts p = @package.send(:parts) - p.each do |part| - #all parts must have :doc, :entry, :schema - assert(part.keys.size == 3 && part.keys.reject{ |k| [:doc, :entry, :schema].include? k}.empty?) - end #all parts have an entry assert_equal(p.select{ |part| part[:entry] =~ /_rels\/\.rels/ }.size, 1, "rels missing") assert_equal(p.select{ |part| part[:entry] =~ /docProps\/core\.xml/ }.size, 1, "core missing") @@ -72,9 +81,11 @@ class TestPackage < Test::Unit::TestCase assert_equal(p.select{ |part| part[:entry] =~ /xl\/charts\/chart\d\.xml/ }.size, @package.workbook.charts.size, "one or more charts missing") assert_equal(p.select{ |part| part[:entry] =~ /xl\/worksheets\/sheet\d\.xml/ }.size, @package.workbook.worksheets.size, "one or more sheet missing") assert_equal(p.select{ |part| part[:entry] =~ /xl\/worksheets\/_rels\/sheet\d\.xml\.rels/ }.size, @package.workbook.worksheets.size, "one or more sheet rels missing") + assert_equal(p.select{ |part| part[:entry] =~ /xl\/comments\d\.xml/ }.size, @package.workbook.worksheets.size, "one or more sheet rels missing") + #no mystery parts - assert_equal(p.size, 12) + assert_equal(p.size, 15) end diff --git a/test/workbook/worksheet/tc_row.rb b/test/workbook/worksheet/tc_row.rb index bc6d4139..064ca5d0 100644 --- a/test/workbook/worksheet/tc_row.rb +++ b/test/workbook/worksheet/tc_row.rb @@ -66,7 +66,25 @@ class TestRow < Test::Unit::TestCase assert_equal(15, @row.height) end - def test_to_xml_without_custom_height + def test_hidden + assert_raise(ArgumentError) { @row.hidden = -3 } + assert_nothing_raised { @row.hidden = true } + assert_equal(true, @row.hidden) + end + + def test_collapsed + assert_raise(ArgumentError) { @row.collapsed = -3 } + assert_nothing_raised { @row.collapsed = true } + assert_equal(true, @row.collapsed) + end + + def test_outlineLevel + assert_raise(ArgumentError) { @row.outlineLevel = -3 } + assert_nothing_raised { @row.outlineLevel = 2 } + assert_equal(2, @row.outlineLevel) + end + + def test_to_xml_without_custom_height doc = Nokogiri::XML.parse(@row.to_xml_string(0)) assert_equal(0, doc.xpath(".//row[@ht]").size) assert_equal(0, doc.xpath(".//row[@customHeight]").size) |
