aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/dependencies.rb8
-rw-r--r--Library/Homebrew/test/test_dependencies.rb18
2 files changed, 26 insertions, 0 deletions
diff --git a/Library/Homebrew/dependencies.rb b/Library/Homebrew/dependencies.rb
index 9d5c3dede..addc17725 100644
--- a/Library/Homebrew/dependencies.rb
+++ b/Library/Homebrew/dependencies.rb
@@ -46,4 +46,12 @@ class Dependencies
def default
build + required + recommended
end
+
+ attr_reader :deps
+ protected :deps
+
+ def ==(other)
+ deps == other.deps
+ end
+ alias_method :eql?, :==
end
diff --git a/Library/Homebrew/test/test_dependencies.rb b/Library/Homebrew/test/test_dependencies.rb
index ee7574c2b..14b2e73b0 100644
--- a/Library/Homebrew/test/test_dependencies.rb
+++ b/Library/Homebrew/test/test_dependencies.rb
@@ -59,4 +59,22 @@ class DependenciesTests < Test::Unit::TestCase
assert_equal [qux], @deps.recommended
assert_equal [foo, baz, quux, qux].sort_by(&:name), @deps.default.sort_by(&:name)
end
+
+ def test_equality
+ a = Dependencies.new
+ b = Dependencies.new
+
+ dep = Dependency.new("foo")
+
+ a << dep
+ b << dep
+
+ assert_equal a, b
+ assert a.eql?(b)
+
+ b << Dependency.new("bar", [:optional])
+
+ assert_not_equal a, b
+ assert !a.eql?(b)
+ end
end