Better regression tests for roo

dev
Andy Meneely 2015-04-27 08:48:12 -04:00
parent d00ae0215f
commit 25773a8ee5
7 changed files with 32 additions and 4 deletions

View File

@ -4,7 +4,7 @@ Squib follows [semantic versioning](http://semver.org).
## v0.6.0 / Unreleased ## v0.6.0 / Unreleased
Features: Features:
* Upgraded roo (Excel parsing) to 2.0.0. Nothing major for Squib users, just keeping up with the times. * Upgraded roo (Excel parsing) to 2.0.0. Nothing major for Squib users, just keeping up with the times. ()
Bugs: Bugs:
* Fixed global text hinting (#63) * Fixed global text hinting (#63)

View File

@ -32,7 +32,7 @@ module Squib
data[header] = [] data[header] = []
(s.first_row + 1).upto(s.last_row) do |row| (s.first_row + 1).upto(s.last_row) do |row|
cell = s.cell(row,col) cell = s.cell(row,col)
# Roo hack for avoiding unnecessary .0's on whole integers # Roo hack for avoiding unnecessary .0's on whole integers (https://github.com/roo-rb/roo/issues/139)
cell = s.excelx_value(row,col) if s.excelx_type(row,col) == [:numeric_or_formula, 'General'] cell = s.excelx_value(row,col) if s.excelx_type(row,col) == [:numeric_or_formula, 'General']
data[header] << cell data[header] << cell
end#row end#row

View File

@ -28,4 +28,23 @@ describe Squib::Deck do
}) })
end end
end end
context '#xlsx' do
it 'loads basic xlsx data' do
expect(Squib.xlsx(file: xlsx_file('basic.xlsx'))).to eq({
'Name' => %w(Larry Curly Mo),
'General Number' => %w(1 2 3), #general types always get loaded as strings with no conversion
'Actual Number' => [4.0, 5.0, 6.0], #numbers get auto-converted to integers
})
end
it 'loads xlsx with formulas' do
expect(Squib.xlsx(file: xlsx_file('formulas.xlsx'))).to eq({
'A' => %w(1, 2),
'B' => %w(3, 4),
'Sum' => %w(4, 6),
})
end
end
end end

BIN
spec/data/xlsx/basic.xlsx Normal file

Binary file not shown.

Binary file not shown.

View File

@ -32,6 +32,10 @@ def csv_file(file)
"#{File.expand_path(File.dirname(__FILE__))}/data/csv/#{file}" "#{File.expand_path(File.dirname(__FILE__))}/data/csv/#{file}"
end end
def xlsx_file(file)
"#{File.expand_path(File.dirname(__FILE__))}/data/xlsx/#{file}"
end
def overwrite_sample(sample_name, log) def overwrite_sample(sample_name, log)
# Use this to overwrite the regression with current state # Use this to overwrite the regression with current state
File.open(sample_regression_file(sample_name), 'w+:UTF-8') do |f| File.open(sample_regression_file(sample_name), 'w+:UTF-8') do |f|

View File

@ -43,6 +43,11 @@
"shell_cmd": "rspec spec/graphics/graphics_text_spec.rb", "shell_cmd": "rspec spec/graphics/graphics_text_spec.rb",
"working_dir": "${project_path:${folder}}" "working_dir": "${project_path:${folder}}"
}, },
{
"name": "rspec spec/api/api_data_spec.rb",
"shell_cmd": "rspec spec/api/api_data_spec.rb",
"working_dir": "${project_path:${folder}}"
},
], ],