aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/test_x11_deps.rb67
1 files changed, 67 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_x11_deps.rb b/Library/Homebrew/test/test_x11_deps.rb
new file mode 100644
index 000000000..c455d03d3
--- /dev/null
+++ b/Library/Homebrew/test/test_x11_deps.rb
@@ -0,0 +1,67 @@
+require 'testing_env'
+require 'requirements'
+require 'extend/set'
+
+class X11DependencyTests < Test::Unit::TestCase
+ def test_eql_instances_are_eql
+ x = X11Dependency.new
+ y = X11Dependency.new
+ assert x.eql?(y)
+ assert y.eql?(x)
+ assert x.hash == y.hash
+ end
+
+ def test_not_eql_when_hashes_differ
+ x = X11Dependency.new("foo")
+ y = X11Dependency.new
+ assert x.hash != y.hash
+ assert !x.eql?(y)
+ assert !y.eql?(x)
+ end
+
+ def test_proxy_for
+ x = X11Dependency::Proxy.for("libpng")
+ assert_instance_of X11Dependency::Proxy::Libpng, x
+ assert_kind_of X11Dependency, x
+ end
+
+ def test_proxy_eql_instances_are_eql
+ x = X11Dependency::Proxy.for("libpng")
+ y = X11Dependency::Proxy.for("libpng")
+ assert x.eql?(y)
+ assert y.eql?(x)
+ assert x.hash == y.hash
+ end
+
+ def test_proxy_not_eql_when_hashes_differ
+ x = X11Dependency::Proxy.for("libpng")
+ y = X11Dependency::Proxy.for("fontconfig")
+ assert x.hash != y.hash
+ assert !x.eql?(y)
+ assert !y.eql?(x)
+ end
+
+ def test_x_never_eql_to_proxy_x11_dep
+ x = X11Dependency.new("libpng")
+ p = X11Dependency::Proxy.for("libpng")
+ assert !x.eql?(p)
+ assert !p.eql?(x)
+ end
+end
+
+class X11DepCollectionTests < Test::Unit::TestCase
+ def setup
+ @set = ComparableSet.new
+ end
+
+ def test_x_can_coxist_with_proxy
+ @set << X11Dependency.new << X11Dependency::Proxy.for("libpng")
+ assert_equal 2, @set.count
+ end
+
+ def test_multiple_proxies_can_coexist
+ @set << X11Dependency::Proxy.for("libpng")
+ @set << X11Dependency::Proxy.for("fontconfig")
+ assert_equal 2, @set.count
+ end
+end