Split out and fix LanguageModuleDependency tests
This commit is contained in:
parent
34f3f76932
commit
207f24be07
@ -111,104 +111,3 @@ class DependencyCollectorTests < Test::Unit::TestCase
|
||||
assert_equal X11Dependency::Proxy.new(:libpng), @d.build(:libpng)
|
||||
end
|
||||
end
|
||||
|
||||
class LanguageModuleDependencyTests < Test::Unit::TestCase
|
||||
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
|
||||
end
|
||||
|
||||
class ExternalDepsTests < Test::Unit::TestCase
|
||||
def check_deps_fail specs
|
||||
d = DependencyCollector.new
|
||||
specs.each do |key, value|
|
||||
d.add key => value
|
||||
end
|
||||
|
||||
# Should have found a dep
|
||||
assert d.requirements.size == 1
|
||||
|
||||
d.requirements do |req|
|
||||
assert !d.satisfied?
|
||||
end
|
||||
end
|
||||
|
||||
def check_deps_pass specs
|
||||
d = DependencyCollector.new
|
||||
specs.each do |key, value|
|
||||
d.add key => value
|
||||
end
|
||||
|
||||
# Should have found a dep
|
||||
assert d.requirements.size == 1
|
||||
|
||||
d.requirements do |req|
|
||||
assert d.satisfied?
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_bad_perl_deps
|
||||
check_deps_fail "notapackage" => :perl
|
||||
end
|
||||
|
||||
def test_good_perl_deps
|
||||
check_deps_pass "ENV" => :perl
|
||||
end
|
||||
|
||||
def test_bad_python_deps
|
||||
check_deps_fail "notapackage" => :python
|
||||
end
|
||||
|
||||
def test_good_python_deps
|
||||
check_deps_pass "datetime" => :python
|
||||
end
|
||||
|
||||
def test_bad_ruby_deps
|
||||
check_deps_fail "notapackage" => :ruby
|
||||
end
|
||||
|
||||
def test_good_ruby_deps
|
||||
check_deps_pass "date" => :ruby
|
||||
end
|
||||
|
||||
# Only run these next two tests if jruby is installed.
|
||||
def test_bad_jruby_deps
|
||||
check_deps_fail "notapackage" => :jruby if which('jruby')
|
||||
end
|
||||
|
||||
def test_good_jruby_deps
|
||||
check_deps_pass "date" => :jruby if which('jruby')
|
||||
end
|
||||
|
||||
# Only run these next two tests if rubinius is installed.
|
||||
def test_bad_rubinius_deps
|
||||
check_deps_fail "notapackage" => :rbx if which('rbx')
|
||||
end
|
||||
|
||||
def test_good_rubinius_deps
|
||||
check_deps_pass "date" => :rbx if which('rbx')
|
||||
end
|
||||
|
||||
# Only run these next two tests if chicken scheme is installed.
|
||||
def test_bad_chicken_deps
|
||||
check_deps_fail "notapackage" => :chicken if which('csc')
|
||||
end
|
||||
|
||||
def test_good_chicken_deps
|
||||
check_deps_pass "extras" => :chicken if which('csc')
|
||||
end
|
||||
|
||||
# Only run these next two tests if node.js is installed.
|
||||
def test_bad_node_deps
|
||||
check_deps_fail "notapackage" => :node if which('node')
|
||||
end
|
||||
|
||||
def test_good_node_deps
|
||||
check_deps_pass "util" => :node if which('node')
|
||||
end
|
||||
end
|
||||
|
||||
87
Library/Homebrew/test/test_language_module_dependency.rb
Normal file
87
Library/Homebrew/test/test_language_module_dependency.rb
Normal file
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user