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 /Library | |
| parent | ba37612e46e18479f18c6f7a97b99837dc209dfc (diff) | |
| download | homebrew-957b32b1f21b8d84ad3fb7442996568c2edcf8f3.tar.bz2 | |
Uniqify tags when merging dependencies
Diffstat (limited to 'Library')
| -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 |
