diff options
| -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 |
