diff options
| author | Jack Nagel | 2013-06-25 10:12:14 -0500 | 
|---|---|---|
| committer | Jack Nagel | 2013-06-25 10:12:14 -0500 | 
| commit | 957b32b1f21b8d84ad3fb7442996568c2edcf8f3 (patch) | |
| tree | d43964c808c59e5defeed9cc0666258fb6a67762 | |
| parent | ba37612e46e18479f18c6f7a97b99837dc209dfc (diff) | |
| download | homebrew-957b32b1f21b8d84ad3fb7442996568c2edcf8f3.tar.bz2 | |
Uniqify tags when merging dependencies
| -rw-r--r-- | Library/Homebrew/dependency.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_dependency_expansion.rb | 8 | 
2 files changed, 9 insertions, 1 deletions
| diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb index 3a203e896..05318fc9a 100644 --- a/Library/Homebrew/dependency.rb +++ b/Library/Homebrew/dependency.rb @@ -100,7 +100,7 @@ class Dependency        grouped = deps.group_by(&:name)        deps.uniq.map do |dep| -        tags = grouped.fetch(dep.name).map(&:tags).flatten +        tags = grouped.fetch(dep.name).map(&:tags).flatten.uniq          merged_dep = dep.class.new(dep.name, tags)          merged_dep.env_proc = dep.env_proc          merged_dep diff --git a/Library/Homebrew/test/test_dependency_expansion.rb b/Library/Homebrew/test/test_dependency_expansion.rb index a6b9cbdec..d0dada2e0 100644 --- a/Library/Homebrew/test/test_dependency_expansion.rb +++ b/Library/Homebrew/test/test_dependency_expansion.rb @@ -74,4 +74,12 @@ class DependencyExpansionTests < Test::Unit::TestCase      env_proc = @foo.env_proc = stub      assert_equal env_proc, Dependency.expand(@f).first.env_proc    end + +  def test_merged_tags_no_dupes +    @foo2 = build_dep(:foo, ['option']) +    @foo3 = build_dep(:foo, ['option']) +    @deps << @foo2 << @foo3 + +    assert_equal %w{option}, Dependency.expand(@f).first.tags +  end  end | 
