You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.6 KiB
51 lines
1.6 KiB
require 'spec_helper' |
|
require 'squib/args/save_batch' |
|
|
|
describe Squib::Args::SaveBatch do |
|
subject(:save_batch) {Squib::Args::SaveBatch.new} |
|
|
|
context 'dir' do |
|
it 'is created if not exists (and warns)' do |
|
opts = { dir: 'tocreate' } |
|
Dir.chdir(output_dir) do |
|
FileUtils.rm_rf('tocreate', secure: true) |
|
expect(Squib.logger).to receive(:warn).with("Dir 'tocreate' does not exist, creating it.").once |
|
save_batch.load! opts |
|
expect(save_batch).to have_attributes({ dir: ['tocreate'] }) |
|
expect(Dir.exist? 'tocreate').to be true |
|
end |
|
end |
|
end |
|
|
|
context 'rotate' do |
|
it 'does nothing by default' do |
|
opts = {} |
|
save_batch.load! opts |
|
expect(save_batch[0]).to have_attributes({ rotate: false, angle: 0 }) |
|
end |
|
|
|
it 'rotates by pi/2 with true' do |
|
opts = { rotate: true } |
|
save_batch.load! opts |
|
expect(save_batch[0]).to have_attributes({ rotate: true, angle: Math::PI / 2 }) |
|
end |
|
|
|
it 'rotates by pi/2' do |
|
opts = { rotate: :clockwise } |
|
save_batch.load! opts |
|
expect(save_batch[0]).to have_attributes({ rotate: true, angle: Math::PI / 2 }) |
|
end |
|
|
|
it 'rotates by pi/2 with counterclockwise' do |
|
opts = { rotate: :counterclockwise } |
|
save_batch.load! opts |
|
expect(save_batch[0]).to have_attributes({ rotate: true, angle: 3 * Math::PI / 2 }) |
|
end |
|
|
|
it 'raises error on a number' do |
|
opts = { rotate: 5.0 } |
|
expect { save_batch.load!(opts) }.to raise_error('invalid option to rotate: only [true, false, :clockwise, :counterclockwise]') |
|
end |
|
end |
|
|
|
end
|
|
|