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