aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/test/test_ENV.rb14
1 files changed, 13 insertions, 1 deletions
diff --git a/Library/Homebrew/test/test_ENV.rb b/Library/Homebrew/test/test_ENV.rb
index 1a1dd922b..8c1a72519 100644
--- a/Library/Homebrew/test/test_ENV.rb
+++ b/Library/Homebrew/test/test_ENV.rb
@@ -27,7 +27,7 @@ class EnvironmentTests < Test::Unit::TestCase
assert_equal ENV['OBJC'], ENV['CC']
end
- def test_with_build_environment
+ def test_with_build_environment_restores_env
before = ENV.to_hash
ENV.with_build_environment do
ENV['foo'] = 'bar'
@@ -35,4 +35,16 @@ class EnvironmentTests < Test::Unit::TestCase
assert_nil ENV['foo']
assert_equal before, ENV.to_hash
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