Sha256: 4f14b2ce92edc9c2b582d446f9b1e48c041e0d8117611a38e609c83edaaef774
Contents?: true
Size: 1.34 KB
Versions: 12
Compression:
Stored size: 1.34 KB
Contents
require 'spec_helper' describe FeduxOrg::Stdlib::Environment do context '#isolated_environment' do it 'runs command in isolated environment' do klass = Class.new do include FeduxOrg::Stdlib::Environment def test_env isolated_environment 'TEST_VAR' => 'this is a test' do ENV['TEST_VAR'] end end end expect( klass.new.test_env ).to eq( 'this is a test' ) end it 'let you define an environment before running a command' do klass = Class.new do include FeduxOrg::Stdlib::Environment def test_env isolated_environment( {}, { clear: true } ) do #are set by the terminal and can hardly be cleared ENV.delete( 'COLUMNS' ) ENV.delete( 'LINES' ) ENV.to_hash end end end expect( klass.new.test_env ).to eq( {} ) end it 'restores environment although an exception occured' do klass = Class.new do include FeduxOrg::Stdlib::Environment def test_env ENV['TEST_VAR'] = 'TEST' begin isolated_environment( {}, { clear: true } ) do raise end rescue end ENV['TEST_VAR'] end end expect( klass.new.test_env ).to eq( 'TEST' ) end end end
Version data entries
12 entries across 12 versions & 1 rubygems