Sha256: e220012f166d371042b9de3084a4cc3913af1c2f8e83bffb291ef052168a8eb9
Contents?: true
Size: 1.43 KB
Versions: 2
Compression:
Stored size: 1.43 KB
Contents
require 'spec_helper' require 'squib/args/sheet' describe Squib::Args::Sheet do context 'dsl overrides' do subject(:sheet) { Squib::Args::Sheet.new({}, {file: 'foo'}) } it 'works when specified' do sheet.load!({}) # go right to defaults expect(sheet.file).to eq( 'foo' ) # dsl method default override end end context 'rows and colums' do subject(:sheet) { Squib::Args::Sheet.new({}, {}, 4) } it 'does nothing on a perfect fit' do opts = { columns: 2, rows: 2 } sheet.load! opts expect(sheet).to have_attributes(columns: 2, rows: 2) end it 'keeps both if specified' do opts = { columns: 1, rows: 1 } sheet.load! opts expect(sheet).to have_attributes(columns: 1, rows: 1) end it 'computes properly on non-integer' do opts = {columns: 1, rows: :infinite} sheet.load! opts expect(sheet).to have_attributes( columns: 1, rows: 4 ) end it 'computes properly on unspecified rows' do opts = {columns: 1} sheet.load! opts expect(sheet).to have_attributes( columns: 1, rows: 4 ) end it 'computes properly on unspecified, too-big column' do opts = {} sheet.load! opts expect(sheet).to have_attributes( columns: 5, rows: 1 ) end it 'fails on a non-integer column' do opts = {columns: :infinite} expect { sheet.load!(opts) }.to raise_error('columns must be an integer') end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
squib-0.8.0 | spec/args/sheet_spec.rb |
squib-0.7.0 | spec/args/sheet_spec.rb |