summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2012-05-13 14:40:31 +0900
committerRandy Morgan <[email protected]>2012-05-13 14:40:31 +0900
commitc2bdd517720d8f4640e7e06962417a4c5b0f02c7 (patch)
treed920ed1729d164fbcb4a13eda2c9236ca564dea3
parentd46c97f6576aceaf30424b221188d80c7a4ecf64 (diff)
downloadcaxlsx-c2bdd517720d8f4640e7e06962417a4c5b0f02c7.tar.gz
caxlsx-c2bdd517720d8f4640e7e06962417a4c5b0f02c7.zip
MOAR specs
-rw-r--r--test/drawing/tc_hyperlink.rb4
-rw-r--r--test/drawing/tc_line_series.rb8
-rw-r--r--test/drawing/tc_pie_series.rb7
-rw-r--r--test/stylesheet/tc_gradient_fill.rb8
-rw-r--r--test/stylesheet/tc_pattern_fill.rb8
-rw-r--r--test/tc_helper.rb1
-rw-r--r--test/tc_package.rb21
-rw-r--r--test/workbook/worksheet/tc_row.rb20
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)