49 lines
996 B
Ruby
49 lines
996 B
Ruby
require 'spec_helper'
|
|
|
|
describe Mutant::Isolation::None do
|
|
before do
|
|
@initial = 1
|
|
end
|
|
|
|
describe '.run' do
|
|
let(:object) { described_class }
|
|
|
|
it 'does not isolate side effects' do
|
|
object.call { @initial = 2 }
|
|
expect(@initial).to be(2)
|
|
end
|
|
|
|
it 'return block value' do
|
|
expect(object.call { :foo }).to be(:foo)
|
|
end
|
|
|
|
it 'wraps *all* exceptions' do
|
|
expect { object.call { fail } }.to raise_error(Mutant::Isolation::Error)
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
describe Mutant::Isolation::Fork do
|
|
before do
|
|
@initial = 1
|
|
end
|
|
|
|
describe '.run' do
|
|
let(:object) { described_class }
|
|
|
|
it 'does isolate side effects' do
|
|
object.call { @initial = 2 }
|
|
expect(@initial).to be(1)
|
|
end
|
|
|
|
it 'return block value' do
|
|
expect(object.call { :foo }).to be(:foo)
|
|
end
|
|
|
|
it 'wraps Parallel::DeadWorker exceptions' do
|
|
expect { object.call { fail Parallel::DeadWorker } }.to raise_error(Mutant::Isolation::Error)
|
|
end
|
|
|
|
end
|
|
end
|