summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorochko <[email protected]>2012-04-06 17:57:41 +0900
committerochko <[email protected]>2012-04-06 17:57:41 +0900
commit289f6718b466cd37bba1afbbb8269ec57b1f8b2f (patch)
tree7a539f826788b62f46ed3463d7095def838d5223
parent3431214a4feaa076ebc246552e5e61331d35c398 (diff)
parentff5d690f8c3ac8fcab2f9c21d5ddeb699cf0e5ef (diff)
downloadcaxlsx-289f6718b466cd37bba1afbbb8269ec57b1f8b2f.tar.gz
caxlsx-289f6718b466cd37bba1afbbb8269ec57b1f8b2f.zip
Merge branch 'master' of git://github.com/randym/axlsx
-rw-r--r--.travis.yml1
-rw-r--r--axlsx.gemspec2
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb4
-rw-r--r--test/workbook/worksheet/tc_date_time_converter.rb16
-rw-r--r--test/workbook/worksheet/tc_worksheet.rb10
5 files changed, 23 insertions, 10 deletions
diff --git a/.travis.yml b/.travis.yml
index 5fa532c1..a5e3963e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -19,4 +19,3 @@ matrix:
allow_failures:
- rvm: ruby-head
- rvm: jruby-head
- - rvm: jruby-19mode
diff --git a/axlsx.gemspec b/axlsx.gemspec
index 1dee3358..ae3d2aaa 100644
--- a/axlsx.gemspec
+++ b/axlsx.gemspec
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
s.add_runtime_dependency 'nokogiri', '>= 1.4.1'
s.add_runtime_dependency 'rmagick', '>= 2.12.2' unless Object.const_defined? :JRUBY_VERSION
s.add_runtime_dependency 'rmagick4j', '>= 0.3.7' if Object.const_defined? :JRUBY_VERSION
- s.add_runtime_dependency 'rubyzip', '~> 0.9'
+ s.add_runtime_dependency 'rubyzip', '>= 0.9.5'
s.add_runtime_dependency 'rake', '0.8.7' if RUBY_VERSION == "1.9.2"
s.add_runtime_dependency 'rake', '>= 0.8.7' if ["1.9.3", "1.8.7"].include?(RUBY_VERSION)
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index 4f26b568..7aa38866 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -402,9 +402,9 @@ module Axlsx
str.concat '<sheetData>'
@rows.each_with_index { |row, index| row.to_xml_string(index, str) }
str.concat '</sheetData>'
- page_margins.to_xml_string(str) if @page_margins
str.concat "<autoFilter ref='%s'></autoFilter>" % @auto_filter if @auto_filter
- str.concat "<mergeCells count='%s'>%s</mergeCells>" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| "<mergeCell ref='%s'></mergeCell>" % obj } ] unless @merged_cells.empty?
+ str.concat "<mergeCells count='%s'>%s</mergeCells>" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| memo += "<mergeCell ref='%s'></mergeCell>" % obj } ] unless @merged_cells.empty?
+ page_margins.to_xml_string(str) if @page_margins
str.concat "<drawing r:id='rId1'></drawing>" if @drawing
unless @tables.empty?
str.concat "<tableParts count='%s'>%s</tableParts>" % [@tables.size, @tables.reduce('') { |memo, obj| memo += "<tablePart r:id='%s'/>" % obj.rId }]
diff --git a/test/workbook/worksheet/tc_date_time_converter.rb b/test/workbook/worksheet/tc_date_time_converter.rb
index adeae92b..09c1c507 100644
--- a/test/workbook/worksheet/tc_date_time_converter.rb
+++ b/test/workbook/worksheet/tc_date_time_converter.rb
@@ -111,12 +111,18 @@ class TestDateTimeConverter < Test::Unit::TestCase
end
def test_timezone
+
utc = Time.utc 2012 # January 1st, 2012 at 0:00 UTC
- local = begin
- Time.new 2012, 1, 1, 1, 0, 0, 3600 # January 1st, 2012 at 1:00 GMT+1
- rescue ArgumentError
- Time.parse "2012-01-01 01:00:00 +0100"
- end
+
+ # JRuby makes no assumption on time zone. randym
+ #local = begin
+ # Time.new 2012, 1, 1, 1, 0, 0, 3600 # January 1st, 2012 at 1:00 GMT+1
+ #rescue ArgumentError
+ # Time.parse "2012-01-01 01:00:00 +0100"
+ #end
+
+ local = Time.parse "2012-01-01 01:00:00 +0100"
+
assert_equal local, utc
assert_equal Axlsx::DateTimeConverter::time_to_serial(local), Axlsx::DateTimeConverter::time_to_serial(utc)
Axlsx::Workbook.date1904 = true
diff --git a/test/workbook/worksheet/tc_worksheet.rb b/test/workbook/worksheet/tc_worksheet.rb
index 499df864..320561b3 100644
--- a/test/workbook/worksheet/tc_worksheet.rb
+++ b/test/workbook/worksheet/tc_worksheet.rb
@@ -207,8 +207,10 @@ class TestWorksheet < Test::Unit::TestCase
def test_to_xml_string_merge_cells
@ws.add_row [1, "two"]
@ws.merge_cells "A1:D1"
+ @ws.merge_cells "E1:F1"
doc = Nokogiri::XML(@ws.to_xml_string)
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="A1:D1"]').size, 1)
+ assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="E1:F1"]').size, 1)
end
def test_to_xml_string_page_margins
@@ -252,8 +254,14 @@ class TestWorksheet < Test::Unit::TestCase
assert(errors.empty?, "error free validation")
end
- def test_valid_with_page_margins
+ # Make sure the XML for all optional elements (like pageMargins, autoFilter, ...)
+ # is generated in correct order.
+ def test_valid_with_optional_elements
@ws.page_margins.set :left => 9
+ @ws.auto_filter = "A1:C3"
+ @ws.merge_cells "A4:A5"
+ @ws.add_chart Axlsx::Pie3DChart
+ @ws.add_table "E1:F3"
schema = Nokogiri::XML::Schema(File.open(Axlsx::SML_XSD))
doc = Nokogiri::XML(@ws.to_xml_string)
errors = []