Copy env_proc when merging deps

This commit is contained in:
Jack Nagel 2013-06-24 08:52:41 -05:00
parent 9903e7cd92
commit 6b5e73a2c3
2 changed files with 9 additions and 1 deletions

View File

@ -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

View File

@ -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