aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/test_language_module_dependency.rb
diff options
context:
space:
mode:
authorJack Nagel2013-04-02 15:33:34 -0500
committerJack Nagel2013-04-02 15:33:34 -0500
commit4f855db00ec79e33fe04c97de47fa2cafe3552f3 (patch)
tree1f824895b023121a10d1ec3f8fea95d00a6a09c8 /Library/Homebrew/test/test_language_module_dependency.rb
parent657acb58bec1c574e5d2553e1cd23c718aa45a67 (diff)
downloadhomebrew-4f855db00ec79e33fe04c97de47fa2cafe3552f3.tar.bz2
Split out and fix LanguageModuleDependency tests
Diffstat (limited to 'Library/Homebrew/test/test_language_module_dependency.rb')
-rw-r--r--Library/Homebrew/test/test_language_module_dependency.rb87
1 files changed, 87 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_language_module_dependency.rb b/Library/Homebrew/test/test_language_module_dependency.rb
new file mode 100644
index 000000000..5ced896a4
--- /dev/null
+++ b/Library/Homebrew/test/test_language_module_dependency.rb
@@ -0,0 +1,87 @@
+require 'testing_env'
+require 'requirements'
+require 'hardware'
+
+class LanguageModuleDependencyTests < Test::Unit::TestCase
+ def assert_deps_fail(spec)
+ l = LanguageModuleDependency.new(*spec.shift.reverse)
+ assert !l.satisfied?
+ end
+
+ def assert_deps_pass(spec)
+ l = LanguageModuleDependency.new(*spec.shift.reverse)
+ assert l.satisfied?
+ end
+
+ def test_unique_deps_are_not_eql
+ x = LanguageModuleDependency.new(:node, "less")
+ y = LanguageModuleDependency.new(:node, "coffee-script")
+ assert x.hash != y.hash
+ assert !x.eql?(y)
+ assert !y.eql?(x)
+ end
+
+ def test_bad_perl_deps
+ assert_deps_fail "notapackage" => :perl
+ end
+
+ def test_good_perl_deps
+ assert_deps_pass "ENV" => :perl
+ end
+
+ def test_bad_python_deps
+ assert_deps_fail "notapackage" => :python
+ end
+
+ def test_good_python_deps
+ assert_deps_pass "datetime" => :python
+ end
+
+ def test_bad_ruby_deps
+ assert_deps_fail "notapackage" => :ruby
+ end
+
+ def test_good_ruby_deps
+ assert_deps_pass "date" => :ruby
+ end
+
+ if which("jruby")
+ def test_bad_jruby_deps
+ assert_deps_fail "notapackage" => :jruby
+ end
+
+ def test_good_jruby_deps
+ assert_deps_pass "date" => :jruby
+ end
+ end
+
+ if which("rbx")
+ def test_bad_rubinius_deps
+ assert_deps_fail "notapackage" => :rbx
+ end
+
+ def test_good_rubinius_deps
+ assert_deps_pass "date" => :rbx
+ end
+ end
+
+ if which("csc")
+ def test_bad_chicken_deps
+ assert_deps_fail "notapackage" => :chicken
+ end
+
+ def test_good_chicken_deps
+ assert_deps_pass "extras" => :chicken
+ end
+ end
+
+ if which("node")
+ def test_bad_node_deps
+ assert_deps_fail "notapackage" => :node
+ end
+
+ def test_good_node_deps
+ assert_deps_pass "util" => :node
+ end
+ end
+end