diff options
| author | Jack Nagel | 2013-01-19 20:45:57 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-01-21 17:24:10 -0600 |
| commit | cfdc7efef925411efad291be5c6739979682b3b3 (patch) | |
| tree | be5bea9d765f9b841e5268fd801358ec33af13f0 /Library/Homebrew/test | |
| parent | 3270fd2cd94e6ca637bbae5f2acfc9c1824d76e2 (diff) | |
| download | homebrew-cfdc7efef925411efad291be5c6739979682b3b3.tar.bz2 | |
Allow env DSL to take a block
In addition to
env :userpaths
env :std
requirements can now do
env do
append 'PATH', '/some/path/to/bin'
# and more
end
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/test_build_environment.rb | 33 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_requirement.rb | 11 |
2 files changed, 33 insertions, 11 deletions
diff --git a/Library/Homebrew/test/test_build_environment.rb b/Library/Homebrew/test/test_build_environment.rb index fde3f3c70..d8a227f51 100644 --- a/Library/Homebrew/test/test_build_environment.rb +++ b/Library/Homebrew/test/test_build_environment.rb @@ -19,4 +19,37 @@ class BuildEnvironmentTests < Test::Unit::TestCase @env << :userpaths assert @env.userpaths? end + + def test_modify_build_environment + @env << Proc.new { 1 } + assert_equal 1, @env.modify_build_environment + end + + def test_marshal + @env << :userpaths + @env << Proc.new { 1 } + dump = Marshal.dump(@env) + assert Marshal.load(dump).userpaths? + end +end + +class BuildEnvironmentDSLTests < Test::Unit::TestCase + def make_instance(&block) + Class.new do + extend BuildEnvironmentDSL + def env; self.class.env end + class_eval(&block) + end.new + end + + def test_env_single_argument + obj = make_instance { env :userpaths } + assert obj.env.userpaths? + end + + def test_env_multiple_arguments + obj = make_instance { env :userpaths, :std } + assert obj.env.userpaths? + assert obj.env.std? + end end diff --git a/Library/Homebrew/test/test_requirement.rb b/Library/Homebrew/test/test_requirement.rb index 7bfb75ff3..28e2afae7 100644 --- a/Library/Homebrew/test/test_requirement.rb +++ b/Library/Homebrew/test/test_requirement.rb @@ -26,17 +26,6 @@ class RequirementTests < Test::Unit::TestCase assert_equal [:build, "bar"], dep.tags end - def test_dsl_env_single_argument - req = Class.new(Requirement) { env :userpaths }.new - assert req.env.userpaths? - end - - def test_dsl_env_multiple_arguments - req = Class.new(Requirement) { env :userpaths, :std }.new - assert req.env.userpaths? - assert req.env.std? - end - def test_dsl_fatal req = Class.new(Requirement) { fatal true }.new assert req.fatal? |
