Add tests for ENV.with_build_environment

This commit is contained in:
Jack Nagel 2013-01-22 04:32:26 -06:00
parent 2c7ac3c244
commit 2bacf38833

View File

@ -27,7 +27,7 @@ class EnvironmentTests < Test::Unit::TestCase
assert_equal ENV['OBJC'], ENV['CC'] assert_equal ENV['OBJC'], ENV['CC']
end end
def test_with_build_environment def test_with_build_environment_restores_env
before = ENV.to_hash before = ENV.to_hash
ENV.with_build_environment do ENV.with_build_environment do
ENV['foo'] = 'bar' ENV['foo'] = 'bar'
@ -35,4 +35,16 @@ class EnvironmentTests < Test::Unit::TestCase
assert_nil ENV['foo'] assert_nil ENV['foo']
assert_equal before, ENV.to_hash assert_equal before, ENV.to_hash
end end
def test_with_build_environment_ensures_env_restored
ENV.expects(:replace).with(ENV.to_hash)
begin
ENV.with_build_environment { raise Exception }
rescue Exception
end
end
def test_with_build_environment_returns_block_value
assert_equal 1, ENV.with_build_environment { 1 }
end
end end