diff options
| author | ochko <[email protected]> | 2012-04-06 17:57:41 +0900 |
|---|---|---|
| committer | ochko <[email protected]> | 2012-04-06 17:57:41 +0900 |
| commit | 289f6718b466cd37bba1afbbb8269ec57b1f8b2f (patch) | |
| tree | 7a539f826788b62f46ed3463d7095def838d5223 | |
| parent | 3431214a4feaa076ebc246552e5e61331d35c398 (diff) | |
| parent | ff5d690f8c3ac8fcab2f9c21d5ddeb699cf0e5ef (diff) | |
| download | caxlsx-289f6718b466cd37bba1afbbb8269ec57b1f8b2f.tar.gz caxlsx-289f6718b466cd37bba1afbbb8269ec57b1f8b2f.zip | |
Merge branch 'master' of git://github.com/randym/axlsx
| -rw-r--r-- | .travis.yml | 1 | ||||
| -rw-r--r-- | axlsx.gemspec | 2 | ||||
| -rw-r--r-- | lib/axlsx/workbook/worksheet/worksheet.rb | 4 | ||||
| -rw-r--r-- | test/workbook/worksheet/tc_date_time_converter.rb | 16 | ||||
| -rw-r--r-- | test/workbook/worksheet/tc_worksheet.rb | 10 |
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 = [] |
