From 1332f1260c958a84164732b622fe7345be7a3bfd Mon Sep 17 00:00:00 2001 From: Randy Morgan Date: Thu, 5 Apr 2012 08:58:06 +0900 Subject: fixing spec for time serialization assuming timezone to be GMT+1 - --- test/workbook/worksheet/tc_date_time_converter.rb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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 -- cgit v1.2.3 From fa48ece3f135a9dba4307a26c0137684c8e30262 Mon Sep 17 00:00:00 2001 From: Randy Morgan Date: Thu, 5 Apr 2012 09:29:59 +0900 Subject: jruby 1.9 mode in the required build matrix! --- .travis.yml | 1 - 1 file changed, 1 deletion(-) 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 -- cgit v1.2.3 From 2861af86f3b4b0fd4caa22b74e084ab0277da220 Mon Sep 17 00:00:00 2001 From: Randy Morgan Date: Thu, 5 Apr 2012 17:03:52 +0900 Subject: improper version pin for using ZipOutputStream to StringIO for those folks who are still on the 2009 version of rubyzip --- axlsx.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) -- cgit v1.2.3 From 4338184111e19487665070f928208c15e539bd96 Mon Sep 17 00:00:00 2001 From: Stefan Daschek Date: Thu, 5 Apr 2012 14:31:28 +0200 Subject: Fix position of pageMargins XML element. Must appear after mergeCells but before drawing element. --- lib/axlsx/workbook/worksheet/worksheet.rb | 2 +- test/workbook/worksheet/tc_worksheet.rb | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index 4f26b568..7d26b088 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -402,9 +402,9 @@ module Axlsx str.concat '' @rows.each_with_index { |row, index| row.to_xml_string(index, str) } str.concat '' - page_margins.to_xml_string(str) if @page_margins str.concat "" % @auto_filter if @auto_filter str.concat "%s" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| "" % obj } ] unless @merged_cells.empty? + page_margins.to_xml_string(str) if @page_margins str.concat "" if @drawing unless @tables.empty? str.concat "%s" % [@tables.size, @tables.reduce('') { |memo, obj| memo += "" % obj.rId }] diff --git a/test/workbook/worksheet/tc_worksheet.rb b/test/workbook/worksheet/tc_worksheet.rb index 499df864..67b11d3c 100644 --- a/test/workbook/worksheet/tc_worksheet.rb +++ b/test/workbook/worksheet/tc_worksheet.rb @@ -252,8 +252,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 = [] -- cgit v1.2.3 From ff5d690f8c3ac8fcab2f9c21d5ddeb699cf0e5ef Mon Sep 17 00:00:00 2001 From: Stefan Daschek Date: Thu, 5 Apr 2012 16:04:34 +0200 Subject: Fix missing merged cells. Merge cell info for all but the last merged cell was missing from XML output. --- lib/axlsx/workbook/worksheet/worksheet.rb | 2 +- test/workbook/worksheet/tc_worksheet.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index 7d26b088..7aa38866 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -403,7 +403,7 @@ module Axlsx @rows.each_with_index { |row, index| row.to_xml_string(index, str) } str.concat '' str.concat "" % @auto_filter if @auto_filter - str.concat "%s" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| "" % obj } ] unless @merged_cells.empty? + str.concat "%s" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| memo += "" % obj } ] unless @merged_cells.empty? page_margins.to_xml_string(str) if @page_margins str.concat "" if @drawing unless @tables.empty? diff --git a/test/workbook/worksheet/tc_worksheet.rb b/test/workbook/worksheet/tc_worksheet.rb index 67b11d3c..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 -- cgit v1.2.3