From 484c70d19ff17944e4926e7ad3f9bc0fad98797a Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Mon, 14 Dec 2015 19:45:41 +0000 Subject: [PATCH] test_dependency: add failing option names test. This test will obviously fail but it does mark that the option names are not being merged correctly. --- Library/Homebrew/test/test_dependency.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Library/Homebrew/test/test_dependency.rb b/Library/Homebrew/test/test_dependency.rb index aca07c69cf..8e647c1b06 100644 --- a/Library/Homebrew/test/test_dependency.rb +++ b/Library/Homebrew/test/test_dependency.rb @@ -39,6 +39,25 @@ class DependencyTests < Homebrew::TestCase assert_equal [:build, "bar"], dep.tags end + def test_merge_repeats + dep = Dependency.new("foo", [:build], nil, "foo") + dep2 = Dependency.new("foo", ["bar"], nil, "foo2") + dep3 = Dependency.new("xyz", ["abc"], nil, "foo") + merged = Dependency.merge_repeats([dep, dep2, dep3]) + assert_equal 2, merged.length + assert_equal Dependency, merged.first.class + + foo_named_dep = merged.find {|d| d.name == "foo"} + assert_equal [:build, "bar"], foo_named_dep.tags + assert_includes foo_named_dep.option_name, "foo" + assert_includes foo_named_dep.option_name, "foo2" + + xyz_named_dep = merged.find {|d| d.name == "xyz"} + assert_equal ["abc"], xyz_named_dep.tags + assert_includes xyz_named_dep.option_name, "foo" + refute_includes xyz_named_dep.option_name, "foo2" + end + def test_equality foo1 = Dependency.new("foo") foo2 = Dependency.new("foo")