diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/dependency.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_dependency_expansion.rb | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb index 3fd026883..3a203e896 100644 --- a/Library/Homebrew/dependency.rb +++ b/Library/Homebrew/dependency.rb @@ -100,7 +100,10 @@ class Dependency grouped = deps.group_by(&:name) deps.uniq.map do |dep| - dep.class.new(dep.name, grouped.fetch(dep.name).map(&:tags).flatten) + tags = grouped.fetch(dep.name).map(&:tags).flatten + merged_dep = dep.class.new(dep.name, tags) + merged_dep.env_proc = dep.env_proc + merged_dep end end end diff --git a/Library/Homebrew/test/test_dependency_expansion.rb b/Library/Homebrew/test/test_dependency_expansion.rb index c3fe4ce18..63b6c3145 100644 --- a/Library/Homebrew/test/test_dependency_expansion.rb +++ b/Library/Homebrew/test/test_dependency_expansion.rb @@ -66,4 +66,9 @@ class DependencyExpansionTests < Test::Unit::TestCase deps = [@foo2, @bar, @baz2, @qux] assert_equal deps, Dependency.expand(@f) end + + def test_merger_preserves_env_proc + env_proc = @foo.env_proc = stub + assert_equal env_proc, Dependency.expand(@f).first.env_proc + end end |
